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/30 22:30]
gwainer
projects_list [2019/12/07 16:52]
gwainer
Line 93: Line 93:
  
 ---- ----
-Project Title: Tooling infrastructure to compute test diversity in state-based testing + 
-Supervisor: Yvan Labiche (yvan.labiche@carleton.ca)+**Project Title: Tooling infrastructure to compute test diversity in state-based testing ​\\ 
 + 
 +Supervisor:** Yvan Labiche (yvan.labiche@carleton.ca) 
 Description:​ There is some empirical evidence that when test cases are created as diverse as possible, they are more effective at revealing faults. There are however many different ways to define and compute diversity of tests. Some measures of test diversity come from information theory, such 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 a 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 a 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 future. The infrastructure therefore will resemble a framework and will extensively rely on design patterns. Description:​ There is some empirical evidence that when test cases are created as diverse as possible, they are more effective at revealing faults. There are however many different ways to define and compute diversity of tests. Some measures of test diversity come from information theory, such 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 a 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 a 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 future. The 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. Additional comments: requires competency in programming,​ especially Java; requires knowledge of software design principles and design patterns.
Line 100: Line 103:
  
  
-Project Title: Suggest you own idea for the interactive SWall project +---- 
-Supervisor: Yvan Labiche (yvan.labiche@carleton.ca)+ 
 +**Project Title: Suggest you own idea for the interactive SWall project\\ 
 + 
 +Supervisor: ​** Yvan Labiche (yvan.labiche@carleton.ca) 
 Description:​ The SWall project (http://​sce.carleton.ca/​swall/​) is a 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 created, installed and run on the SWall. ​ Description:​ The SWall project (http://​sce.carleton.ca/​swall/​) is a 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 created, installed and run on the SWall. ​
 Additional comments: requires programming competency; requires fun ideas. Additional comments: requires programming competency; requires fun ideas.
Line 107: Line 114:
  
  
-Project Title: Software interface to Satisfiability Modulo Theory (SMT) solvers +---- 
-Supervisor: Yvan Labiche (yvan.labiche@carleton.ca)+ 
 +**Project Title: Software interface to Satisfiability Modulo Theory (SMT) solvers\\ 
 + 
 +Supervisor: ​** Yvan Labiche (yvan.labiche@carleton.ca) 
 Description:​ Satisfiability Modulo Theory (SMT) solvers 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 I, string variable S and character variable C such that S has at least 3 characters but no more than 15, C is an alpha-numerical that appears I times in S. Of course, such a problem must be specified with a 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 a prototype Java software developed at Carleton University. The purpose of this project is to study typical SMT solvers, how they can be integrated into that other Java software, suggest a software design solution to then implement this integration. Description:​ Satisfiability Modulo Theory (SMT) solvers 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 I, string variable S and character variable C such that S has at least 3 characters but no more than 15, C is an alpha-numerical that appears I times in S. Of course, such a problem must be specified with a 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 a prototype Java software developed at Carleton University. The purpose of this project is to study typical SMT solvers, how they can be integrated into that other Java software, suggest a software design solution to then implement this integration.
 Additional comments: requires programming proficiency Additional comments: requires programming proficiency
 +
 Expected learning outcomes: increased software design and programming,​ introduction to SMT solvers Expected learning outcomes: increased software design and programming,​ introduction to SMT solvers
  
  
-Project Title: Studying structural complexity of test code and application code +---- 
-Supervisor: Yvan Labiche (yvan.labiche@carleton.ca)+ 
 +**Project Title: Studying structural complexity of test code and application code\\ 
 + 
 +Supervisor: ​**Yvan Labiche (yvan.labiche@carleton.ca) 
 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. 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 Additional comments: requires proficiency in descriptive and inferential statistics
 +
 Expected learning outcomes: Significant knowledge in software measurement techniques Expected learning outcomes: Significant knowledge in software measurement techniques
  
 +----
 +
 +**Project Title: Optical hand-held probe for skin cancer\\
 +
 +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** ​
  
-**Title: Development of real-time embedded systems using a model-based approach** Supervision: Professor Gabriel A. Wainer Gabriel.Wainer@sce.carleton.ca+Supervisor: Professor Gabriel A. Wainer Gabriel.Wainer@carleton.ca
  
  
Line 140: 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 147: 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 156: 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.txt · Last modified: 2019/12/07 16:52 by gwainer