View Proposal
-
Proposer
-
Kostas Liaskos
-
Title
-
Automated mutation testing for concurrent software
-
Goal
-
The aim of this project is to develop a tool that automates mutation testing in the context of concurrent software. The core of this project is to investigate common concurrent bug patterns [2] and suggest appropriate mutation operators.
-
Description
- Mutation testing is a simple technique utilised to evaluate the quality of existing software tests: faults (or mutations) are seeded into the code, then the tests are run. The quality of the tests can be calculated from the percentage of mutations killed. Tools that automate this process exist, e.g. PIT [1].
The aim of this project is to develop a tool that automates mutation testing in the context of concurrent software. The core of this project is to investigate common concurrent bug patterns [2] and suggest appropriate mutation operators.
The key tasks and challenges in this project include:
1. Reviewing common concurrent bug patterns and suggest appropriate mutation operators for mutation testing.
2. Investigation and implementation of the suggested mutation operators.
3. Evaluating the tool by applying it to a range concurrent systems.
- Resources
-
[1] http://pitest.org/,
[2] http://ieeexplore.ieee.org/document/1213511/,
[3] https://docs.oracle.com/javase/tutorial/essential/concurrency/
-
Background
-
Strong Java programming skills are essential. Furthermore, the student must familiarise with the fundamentals of the Java concurrency package [3].
-
Url
-
-
Difficulty Level
-
Challenging
-
Ethical Approval
-
None
-
Number Of Students
-
2
-
Supervisor
-
Kostas Liaskos
-
Keywords
-
java concurrency, mutation testing, mutation operators, code parsing, static code analysis, programming, software engineering, unit testing, junit
-
Degrees
-
Bachelor of Science in Computer Science
Bachelor of Science in Computer Systems
Master of Engineering in Software Engineering
Master of Science in Computing (2 Years)
Master of Science in Software Engineering
Bachelor of Science in Computing Science