ARCHIVED MEng PROJECTS
Available in 2024-2025
Project Name: Network vulnerabilities simulation program
Supervisor: Dr. Jerome Talim
Website: carleton.ca/sce/people/talim/
Student Category: MEng
Project Description: There are existing network simulation software, such as NS3 (https://www.nsnam.org/) or OMNeT++ (https://omnetpp.org/), that can be used to simulate network intrusion (and detection) or other types of threats. The project includes the following components or steps:
(a) Developing a computer network simulation program.
(b) Completing a literature review of network intrusion and detection.
(c) Collecting datasets, network traffic or simulation models relevant to the project
(d) Adding the network intrusion (and detection) component to the simulation program
Students are encouraged to contact supervisor to discuss the components specific to their project.
References:
How to Implement intrusion attacks in OMNeT++, https://omnet-manual.com/how-to-implement-intrusion-attacks-in-omnet/
NETWORK SECURITY SIMULATION, https://ns3simulation.com/network-security-simulation/
Available in 2022-2023
Projects offered by Dr. Yvan Labiche
Project Name: Experiments in software testing from finite state machines
Supervisor: Dr. Yvan Labiche
Website: carleton.ca/sce/people/labiche/
Student Category MEng
Project Description We have developed a framework to automate as much as possible different steps of experiments to evaluate various software testing techniques for finite state machines. The project’s objective is to completement the experiments we have performed with new experimental subjects, i.e., with finite state machines. The work will include: getting familiar with the framework; getting familiar with state-based software testing; getting familiar with specific state machine models; run (replicating) experiments, collecting and analyzing data.
Learning Outcomes Increased software development practice/knowledge/experience; exposure to software testing; exposure to empirical software engineering.
Project Name: Automatically creating finite state machines for software
Supervisor Dr. Yvan Labiche
Website https://carleton.ca/sce/people/labiche/
Student Category MEng
Project Description One of the challenges in software engineering research is the availability of real examples. This is especially true for research in software testing and more specifically when verifying through testing that an implementation (source code) conforms to a finite state machine specification. Researchers have resorted to either simple finite state machines or synthetic finite state machines. This project’s objective is to create an infrastructure so that we can automatically create synthetic finite state machine (graphs) that can then become experimental subjects for empirical research in software testing. The preferred programming language is Java but alternatives can be considered if they make sense.
Learning Outcomes Increased software development practice/knowledge/experience; exposure to software testing; exposure to empirical software engineering.
Project Name: Measuring test code and application code with software metrics
Supervisor: Dr. Yvan Labiche
Website: https://carleton.ca/sce/people/labiche/
Student Category: MEng
Project Description: A number of metrics have been defined to measure source code quality. The number of lines of code (LOC), usually not counting blank lines nor comment lines is one of them; counting the number of lines of comments is another; yet another one is the well-known cyclomatic complexity which gives a measure of the complexity of a function/method by evaluating the number of alternatives paths/executions of the function/method. Although source code and application code are both code, they have different structures. For instance, test code such as in a JUnit test has a specific structure with a test set up, a tear down and the use of an assert() function; this is not the case of application code. We wish to have an idea of such differences with source code metrics. The work will thus consist of: selecting open source systems; automatically measuring their test code and application code with a commercial software; collecting and analyzing data.
Learning Outcomes Exposure to source code measurement and metrics; increased software development practice/knowledge/experience.
Project Name: Experiments in software testing from finite state machines
Supervisor: Dr. Yvan Labiche
Website: https://carleton.ca/sce/people/labiche/
Student Category: MEng
Project Description: We have developed a framework to automate as much as possible different steps of experiments to evaluate various software testing techniques for finite state machines. The project’s objective is to complement the experiments we have performed with new experimental subjects, i.e., with finite state machines. The work will include: getting familiar with the framework; getting familiar with state-based software testing; getting familiar with specific state machine models; run (replicating) experiments, collecting and analyzing data.
Learning Outcomes Increased software development practice/knowledge/experience; exposure to software testing; exposure to empirical software engineering.
Projects offered by Dr. Yuu Ono
Project Name Ultrasound imaging and measurements for biomedical applications
Supervisor Dr. Yuu Ono
Website www.sce.carleton.ca/faculty/ono
Student Category MEng
Project Description R&D on ultrasonic sensors, methods, system and signal processing for tissue characterization, biomedical monitoring and diagnosis. The projects include (but not limited to): muscle monitoring and characterization, cardiovascular monitoring including artery diameter tracking and measurement, ultrasound elastography.
Projects offered by Dr. Shikharesh Majumdar
Project: Resource Management on Big Data Processing Platforms
Supervisor: Dr. S. Majumdar
Website: www.sce.carleton.ca/faculty/majumdar.html
Student Category: MEng
Project Description: Research on various issues underlying allocation and scheduling is underway. The focus of attention is parallel processing systems including MapReduce/Hadoop, Spark and specialized stream processing platforms.