Using Program Slicing to Size Code Change

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

Abstract

This is a proposal for a 12 month preliminary investigation into whether the characteristics of program slices in a software system can help to predict the size of code change for a change request. Program slicing is increasingly used by software developers as a tool to support the maintenance of systems. Developers use program slicing to identify elements of the code that may be affected by particular maintenance changes. The original aim behind the development of slicing was to allow developers to perform higher quality code debugging. Slicing has proved to be effective for debugging because it focuses on the structure of code relevant to making a change to that code. We propose to investigate whether data characterising program slices might have wider application, in particular whether understanding the characteristics of the program slices in a system could allow the predication of the size of code change for a change request. This will allow more effective planning of changes to that system. We will investigate these issues using the slicing characteristics of two long-lived open source software systems. We will use multiple regression techniques to investigate the relationship between the characteristics of both forward and backward slices in these open source systems and the size of code change for change requests to each of these systems. This preliminary investigation, if successful, will be extended in subsequent proposals to investigate commercial systems in industry.

Publications

10 25 50