Skip to content

ovidiu-munteanu/pitstat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Change Impact Analysis through Mutation Testing

Final Project, MSc Computer Science, UCL (September 2017)

Abstract

In an AGILE environment developers should be prepared to incorporate frequent changes while ensuring that they maintain the quality and functionality of the system. Yet, even minor changes can affect other, seemingly unrelated parts of the system, and techniques such as Change Impact Analysis (CIA) help manage changes more effectively in order to eliminate or mitigate any associated risks. This research investigates the potential use of mutation testing as an approach to CIA, and thus aims to use mutation testing to analyse and assess the direct and indirect impact of changes in source code between consecutive versions of a software as historically recorded through a version control system.

To achieve this aim, a software tool was developed in Java, which enabled the collection of data regarding the changes introduced between subsequent commits of a project in files and their contents, test cases, and – by means of mutation testing – in mutations and mutation test results; this tool was then used to collect such data from five case study projects. This was then analysed and interpreted in order to identify the impact of changes on mutations and mutation test results, as well as similarities and differences between the projects considered.

The research shows that mutation testing may be used as a technique of CIA, and as it can be fully automated, it may be employed as a testing method in the process of continuous integration. The data analysis and interpretation helps reveal certain patterns and trends in the case study projects considered, with further research needed to better understand the impact of changes on mutation test results, and to improve the accuracy of the change impact data generated. Abstract

In an AGILE environment developers should be prepared to incorporate frequent changes while ensuring that they maintain the quality and functionality of the system. Yet, even minor changes can affect other, seemingly unrelated parts of the system, and techniques such as Change Impact Analysis (CIA) help manage changes more effectively in order to eliminate or mitigate any associated risks. This research investigates the potential use of mutation testing as an approach to CIA, and thus aims to use mutation testing to analyse and assess the direct and indirect impact of changes in source code between consecutive versions of a software as historically recorded through a version control system.

To achieve this aim, a software tool was developed in Java, which enabled the collection of data regarding the changes introduced between subsequent commits of a project in files and their contents, test cases, and – by means of mutation testing – in mutations and mutation test results; this tool was then used to collect such data from five case study projects. This was then analysed and interpreted in order to identify the impact of changes on mutations and mutation test results, as well as similarities and differences between the projects considered.

The research shows that mutation testing may be used as a technique of CIA, and as it can be fully automated, it may be employed as a testing method in the process of continuous integration. The data analysis and interpretation helps reveal certain patterns and trends in the case study projects considered, with further research needed to better understand the impact of changes on mutation test results, and to improve the accuracy of the change impact data generated.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages