Software artifacts continue to evolve throughout their (often long) lifetime, and maintaining them is one of the most expensive activities in software development. A considerable percentage of maintenance costs are due to regression testing, which consists of retesting the software after it is modified and is a crucial part of maintenance. Previous research on regression testing has mostly focused on the efficiency of this activity, while little emphasis has been placed on assessing and improving regression-testing effectiveness. The goal of this project is to fill this gap through the definition of techniques for (1) determining the adequacy of a test suite with respect to a set of software changes, and (2) providing automated support for designing and developing test cases that target inadequately-exercised changes. To achieve this goal, the research will perform three main tasks: define techniques that combine dependence- and state-related information to generate regression-test requirements for changed software; define techniques based on static and dynamic analysis for developing test cases that satisfy the identified requirements; and evaluate the techniques defined in the project through rigorous experiments and industrial case studies. This research directly addresses the stated goals of this program by targeting the development of techniques that can improve the processes of constructing and modifying software-intensive systems.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Type
Standard Grant (Standard)
Application #
0725190
Program Officer
Sol J. Greenspan
Project Start
Project End
Budget Start
2008-01-01
Budget End
2011-12-31
Support Year
Fiscal Year
2007
Total Cost
$245,000
Indirect Cost
Name
North Carolina State University Raleigh
Department
Type
DUNS #
City
Raleigh
State
NC
Country
United States
Zip Code
27695