Investigating code fault proneness using program slicing

Lead Research Organisation: Brunel University London
Department Name: Information Systems Computing and Maths

Abstract

This feasibility study explores the relationship between program slices and faults. The aim is to investigate whether the characteristics of program slices can be used to identify fault-prone code hotspots. Slicing metrics and dependence clusters are used to characterise the slices in a software component. The relationship between the characteristics of those slices in the component and the faults in that component are then analysed. Identifying fault-prone code is difficult and reliable predictors of fault-proneness are not widely reported in the literature. Program slicing is an established software engineering technique to support the detection and correction of known faults. Once a problem has emerged, slicing enables all statements that could have caused that problem to be identified and extracted. This extracted code makes the identification and removal of the fault much easier. We propose to investigate whether slicing could also be a good predictor of latent faults that have not yet caused a problem. The results of this study will show whether the use of program slicing can be extended as a reliable tool to predict fault-prone code. Our previous proof of concept study suggests that this investigation is viable and that slicing may offer valuable insights into fault-proneness.

Publications

10 25 50
publication icon
COUNSELL S (2012) A THEORETICAL AND EMPIRICAL ANALYSIS OF THREE SLICE-BASED METRICS FOR COHESION in International Journal of Software Engineering and Knowledge Engineering

publication icon
Hall T (2012) A Systematic Literature Review on Fault Prediction Performance in Software Engineering in IEEE Transactions on Software Engineering