User Tools

Site Tools


projects_list

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects_list [2018/08/20 10:18]
gwainer
projects_list [2019/12/07 16:52] (current)
gwainer
Line 93: Line 93:
  
 ---- ----
-**Title: Practical GUI testing 
-** 
-Supervisor:​ Prof. Yvan Labiche (labiche@sce.carleton.ca) 
  
-Brief Description +**Project TitleTooling infrastructure to compute test diversity ​in state-based testing ​\\
-As part of the Masters of Engineering degree program, which provides technical expertise at the graduate level, this SYSC5900 course project consists (1) in becoming familiar with a number of software tools that are typically used for testing software with a graphical user interface (GUI) and (2) in experimenting with those tools on at least two GUI-based ​software. The learning objectives of the project course therefore include (i) knowledge of principles for and issues of testing ​software that has a GUI, (ii) familiarity with typical software testing tools to conduct GUI-based software, (iii) experimental software engineering (i.e., principles of experimentations in software engineering research).+
  
-CommentsThe work will be conducted under the supervision of the professor and a Ph.Dcandidate. Software constructioni.e., programming ​(e.g., Java)is a pre-requisiteKnowledge ​of software testing ​is *not* pre-requisite. The project course would ideally take place in the Fall of 2017.+Supervisor:** Yvan Labiche (yvan.labiche@carleton.ca) 
 + 
 +Description:​ There is some empirical evidence that when test cases are created as diverse as possiblethey are more effective at revealing faultsThere are however many different ways to define and compute diversity of testsSome measures of test diversity come from information theorysuch as the Levenshtein distance. Other measures of diversity can be borrowed from biology ​(i.e., diversity in a population). It is unclear what measure(s) of diversity make sense when computing diversity of test cases in test suite (set of test cases)To precisely determine what measure(s) make(s) sense, we need to perform experiments on a large sample ​of test cases (that can involve hundred of thousands of tests to compare). This cannot be made by hand an automation ​is necessary. This project is to create ​software tool infrastructure that will allow the definition and implementation of various test diversity metrics and their use of real test cases and test suites. The infrastructure will have to be modular to facilitate the definition of new diversity metrics ​in the future, accommodate new tests and test suites to measure. Although initially designed to work on state based tests, the infrastructure should accommodate other kinds of tests in the futureThe infrastructure therefore will resemble a framework and will extensively rely on design patterns. 
 +Additional comments: requires competency in programming,​ especially Java; requires knowledge of software design principles and design patterns. 
 +Expected learning outcomes: increased expertise in software design, in framework construction,​ in software programming
  
  
 ---- ----
  
-**Title: ​Practical State-Based testing +**Project ​Title: ​Suggest you own idea for the interactive SWall project\\ 
-** + 
-Supervisor:​ Prof. Yvan Labiche (labiche@sce.carleton.ca)+Supervisor: ​** Yvan Labiche (yvan.labiche@carleton.ca)
  
-Brief Description: ​ +Description: ​The SWall project (http://sce.carleton.ca/swall/is wall of touch screens between Mackenzie blocks 3 and 4 on the 4th floor. The wall is also equipped ​with a camera, and can accommodate other devises. The SWall already have some Apps; feel free to try them. You are encouraged to suggest new ideas of App, fun, educational or other, ​that can be createdinstalled and run on the SWall 
-As part of the Masters of Engineering degree program, which provides technical expertise at the graduate level, this SYSC5900 course ​project ​consists ​(1) in becoming familiar with state-of-the-art techniques to verify (through testing) software implementation from a state machine describing its behaviour (i.e., functional or black-box testing), and (2) in experimenting with these techniques on number ​of software systems that exhibit (and are therefore specified ​withstate-based behaviour. The learning objectives ​of the project course therefore include (i) knowledge of principles for and issues of testing software ​that exhibit state-based behaviour(ii) expertise with the application of those techniques on real software, (iii) experimental software engineering (i.e., principles of experimentations ​in software ​engineering research). +Additional comments: requires programming competency; requires fun ideas. 
-Comments: The work will be conducted under the supervision of the professor ​and a Ph.D. candidate. Software construction,​ i.e., programming ​(e.g., Java), is a pre-requisite. Knowledge of software testing is *not* a pre-requisite. The project course would ideally take place in the Fall of 2017.+Expected learning outcomes: increased expertise ​in software ​design ​and programming
  
  
 ---- ----
-**Title: Practical Test Case Diversity 
-** 
-Supervisor:​ Prof. Yvan Labiche (labiche@sce.carleton.ca) 
  
-Brief Description:  +**Project TitleSoftware interface to Satisfiability Modulo Theory (SMT) solvers\\ 
-As part of the Masters of Engineering degree program, which provides technical expertise at the graduate level, this SYSC5900 course project consists ​(1in becoming familiar with principles of and issues with software testing, ​(2becoming familiar ​with the principle ​that high test case diversity is assumed ​to lead to high fault detection, and (3) automatically measuring test case diversityusing various metricsof number of test suites for a number of software under testThe learning objectives of the project course therefore include (iknowledge of software testing principles, including test case diversity, (iisoftware construction of a framework so test case diversity can be measured according ​to various state-of-the-art diversity metrics (recall ​framework is meant to be extended, so software ​design is an important aspect ​of the project)(iii) execution of the framework, with implemented state-of-the-art diversity metrics, on several sets of test cases for several ​software ​systems under testand (iv) experimental ​software ​engineering (i.e., principles of experimentations in software ​engineering research).+ 
 +Supervisor: ** Yvan Labiche ​(yvan.labiche@carleton.ca) 
 + 
 +Description:​ Satisfiability Modulo Theory ​(SMTsolvers are software programs that automatically solve decision problems that are expressed as logical formula ​with respect to different, sometimes combined, theories. A simple example is a logical formula that uses the first-order logic theory; in other words, Boolean formulas. There are more complex theories ​that are difficult ​to handle automatically by a computer program, such as Real numbers, Integers, Lists, Arrays, Bit Vectors or Strings. An SMT solver mixing several theories can be asked to solve a decision problem defined as follows: find values for integer variable Istring variable S and character variable C such that S has at least characters but no more than 15C is an alpha-numerical that appears I times in S. Of coursesuch problem must be specified with language that can be processed by the SMT solver. A number of SMT solvers exist, including Yices (http://​yices.csl.sri.com/​), Microsoft’s Z3 (https://​github.com/​Z3Prover/​z3). Such solvers need to be integrated into prototype Java software ​developed at Carleton University. The purpose ​of this project ​is to study typical SMT solvershow they can be integrated into that other Java software, ​suggest a software ​design solution to then implement this integration. 
 +Additional comments: requires programming proficiency 
 + 
 +Expected learning outcomes: increased ​software ​design and programming,​ introduction to SMT solvers
  
-Comments: The work will be conducted under the supervision of the professor. Software construction,​ i.e., programming (e.g., Java), is a pre-requisite. Knowledge of software testing is *not* a pre-requisite. The project course can take place either in the Fall of 2017 or Winter (or even Summer) of 2018. 
  
 ---- ----
  
-**Title: ​Practical Clone detection in test code +**Project ​Title: ​Studying structural complexity of test code and application code\\
-** +
-Supervisor:​ Prof. Yvan Labiche (labiche@sce.carleton.ca)+
  
-Brief Description +Supervisor**Yvan Labiche ​(yvan.labiche@carleton.ca)
-As part of the Masters of Engineering degree program, which provides technical expertise at the graduate level, this SYSC5900 course project consists ​(1) in becoming familiar with the issues of cloning (e.g., duplicationsin test code (also known as test script), (ii) in becoming familiar with state-of-the-art of clone detection techniques, and (iii) automatically detecting clones in test code for freely available test code for open-source software. The learning objectives of the project course therefore include (i) knowledge of software testing principles, (ii) knowledge of clone detection (this applies to test code but also to any piece of application code since we use the same techniques),​ and (iii) experimental software engineering (i.e., principles of experimentations in software engineering research). +
-Comments: The work will be conducted under the supervision of the professor and a Ph.D. candidate. Software construction,​ i.e., programming (e.g., Java), is a pre-requisite. Knowledge of software testing is *not* a pre-requisite. The project course can take place either in the Fall of 2017 or Winter (or even Summer) of 2018.+
  
 +Description:​ Software metrics are typically used in industry and research to evaluate software products. By using measures of source code, one can estimate fault-proneness,​ understandability,​ foreseeable reliability … Some metrics are easy to compute, such as the number of lines of code, a.k.a. LOC (though not counting blank lines or comments), the number of lines of comments, the number of classes (in object-oriented programs), the number of functions/​methods. Some metrics are more complex to use and require tool support, such as McCabe’s cyclomatic complexity that measures the number of linearly independent paths in a piece of code. There is an ongoing debate as to whether the more complex metrics (e.g., cyclomatic complexity) are linearly dependent on simpler ones (e.g., LOC): if this is indeed the case, then one might as well use the simpler ones. There is also an unknown: is code created to test software more or less complex than the application logic code the test code tests? Mixing the two issues together, are complex metrics linearly dependent on simpler ones when measuring test code. This project will use complexity data from open source software and possibly some industry software to answer these questions.
 +Additional comments: requires proficiency in descriptive and inferential statistics
 +
 +Expected learning outcomes: Significant knowledge in software measurement techniques
  
 ---- ----
  
 +**Project Title: Optical hand-held probe for skin cancer\\
  
-**Title: Development of real-time embedded systems using a model-based approach** ​Supervision: Professor Gabriel A. Wainer Gabriel.Wainer@sce.carleton.ca+Supervisor: **Sreeraman Rajan (sreeramanr@sce.carleton.ca) 
 + 
 +Description:​  
 +The goal of this project is to develop a hand-held probe for detecting skin cancer using nonlinear optical imaging. This probe will use a high power femtosecond laser to scan the skin surface using a MEMS mirror. The student will be involved in developing an FPGA-based image acquisition system for this probe. 
 + 
 +Please contact Dr. Murugkar (http://​people.physics.carleton.ca/​~smurugkar/​) in the Department of Physics at Carleton University to be a part of this exciting research in biophotonics. Dr. Sreeraman Rajan from Systems and Computer Engineering will be cosupervising this project. 
 + 
 +Needed background: ​ Knowledge of FPGA, image processing and signal processing fundamentals,​ good knowledge of electronics,​ embedded design. 
 + 
 +Biomedical specialty is not a must. Having the ability to design circuits and use FPGA is essential. 
 + 
 +---- 
 + 
 +**Title: Development of real-time embedded systems using a model-based approach** ​ 
 + 
 +Supervisor: Professor Gabriel A. Wainer Gabriel.Wainer@carleton.ca
  
  
Line 154: Line 172:
 • experience in an advanced high performance computing environment • experience in an advanced high performance computing environment
  
-http://www.sce.carleton.ca/​faculty/​wainer/ars+http://cell-devs.sce.carleton.ca/​ars
  
  
Line 161: Line 179:
  
  
-**Title: Advanced Visualization for complex simulation models** Supervision:​ Professor Gabriel A. Wainer Gabriel.Wainer@sce.carleton.ca+**Title: Advanced Visualization for complex simulation models** ​ 
 + 
 +Supervision:​ Professor Gabriel A. Wainer Gabriel.Wainer@carleton.ca
  
  
Line 170: Line 190:
 Different visualization techniques have been applied to the current simulation engines (based on Java and VRML). The goal of this project is to improve 3D visualization techniques based on VRML, XML and Java3D. The goal of this project is to improve the currently existing graphical environment enabling the users to easily visualize the simulation models in 3D worlds. This includes distributed execution via the Internet using a web-based interface. The activities will be carried out in the CFI Advanced Laboratory for Real-Time Simulation (ARS) and Carleton Immersive Media Studio lab (CIMS) This infrastructure consists of a high-performance computing platform (64 high speed processors linked with a very high speed interconnect) to support an advanced real-time simulation engine (including AD/ DA interfaces and graphics workstations for human interaction). It will involve linking the visualization tools available at CIMS with the ARS lab equipment using high speed interconnection networks. Different visualization techniques have been applied to the current simulation engines (based on Java and VRML). The goal of this project is to improve 3D visualization techniques based on VRML, XML and Java3D. The goal of this project is to improve the currently existing graphical environment enabling the users to easily visualize the simulation models in 3D worlds. This includes distributed execution via the Internet using a web-based interface. The activities will be carried out in the CFI Advanced Laboratory for Real-Time Simulation (ARS) and Carleton Immersive Media Studio lab (CIMS) This infrastructure consists of a high-performance computing platform (64 high speed processors linked with a very high speed interconnect) to support an advanced real-time simulation engine (including AD/ DA interfaces and graphics workstations for human interaction). It will involve linking the visualization tools available at CIMS with the ARS lab equipment using high speed interconnection networks.
  
-http://www.sce.carleton.ca/​faculty/​wainer/ars+http://cell-devs.sce.carleton.ca/​ars 
  
projects_list.1534774694.txt.gz · Last modified: 2018/08/20 10:18 by gwainer