Download:
|
by Sebastian Elbaum, David Gable, Gregg Rothermel
In Int’l. Conf. Softw. Maint
http://www.cs.orst.edu/~grother/papers/icsm01a.ps.gz
Add To MetaCart
Abstract:
Many tools and techniques for addressing software maintenance problems rely on code coverage information. Often, this coverage information is gathered for a specific version of a software system, and then used to perform analyses on subsequent versions of that system without being recalculated. As a software system evolves, however, modifications to the software alter the software's behavior on particular inputs, and code coverage information gathered on earlier versions of a program may not accurately reflect the coverage that would be obtained on later versions. This discrepancy may affect the success of analyses dependent on code coverage information. Despite the importance of coverage information in various analyses, in our search of the literature we find no studies specifically examining the impact of software evolution on code coverage information. Therefore, we conducted empirical studies to examine this impact. The results of our studies suggest that even relatively small modifications can greatly affect code coverage information, and that the degree of impact of change on coverage may be difficult to predict. 1
Citations
|
231
|
Optimally profiling and tracing programs
– Ball, Larus
- 1360
|
|
214
|
Dynamic program slicing
– Agrawal, Horgan
- 1990
|
|
211
|
Selecting software test data using data flow information
– Rapps, Weyuker
- 1985
|
|
97
|
A safe, efficient regression test selection technique
– Rothermel, Harrold
- 1997
|
|
89
|
Software Change Impact Analysis
– Arnold, Bohner
- 1996
|
|
88
|
Efficient program tracing
– Larus
- 1993
|
|
65
|
Experimental design: Procedures for the behavioral sciences (3rd ed
– Kirk
- 1995
|
|
56
|
Aristotle: A system for research on and development of program-analysis based tools
– Harrold, Rothermel
- 1997
|
|
56
|
Effect of test set minimization on fault detection e ectiveness
– Wong, Horgan, et al.
- 1998
|
|
48
|
A study of effective regression testing in practice
– Wong, Horgan, et al.
- 1997
|
|
43
|
Empirical evaluation of the textual differencing regression testing technique
– Vokolos, Frankl
- 1998
|
|
42
|
Prioritizing test cases for regression testing
– Elbaum, Malishevsky, et al.
- 2000
|
|
41
|
An empirical study of the effects of minimization on the fault-detection capabilities of test suites
– Rothermel, Harrold, et al.
- 1998
|
|
38
|
Test case prioritization: an empirical study
– Rothermel, Untch, et al.
- 1999
|
|
31
|
Using coverage information to predict the cost-effectiveness of regression testing strategies
– Rosenblum, Weyuker
- 1997
|
|
24
|
A firewall concept for both control-flow and data-flow in regression integration testing
– White, Leung
- 1992
|
|
19
|
Dynamic impact analysis: A cost-effective technique to enforce error-propagation
– Goradia
- 1993
|
|
14
|
Dynamic program slicing methods
– Korel, Rilling
- 1998
|
|
11
|
CLIC: A tool for the measurement of software system dynamics
– Elbaum, Munson, et al.
- 1998
|
|
9
|
Dynamic slicing of distributed programs
– Kamkar, Krajina
- 1995
|
|
8
|
Software testing and reliability
– Horgan, Mathur
- 1996
|
|
7
|
Revalidation during the software maintenance phase
– Hartmann, Robson
- 1989
|
|
6
|
Reducing and estimating the cost of test coverage criteria
– Marre, Bertolino
- 1996
|
|
2
|
Evaluating regression test suites based on their fault exposure capability
– Elbaum, Munson
|
|
2
|
Estimating test effectiveness with dynamic complexity measurement
– Munson, Hall
- 1996
|
|
1
|
bash - Shell of the GNU operating system. http://www.gnu.org/gnulist/production/bash.html
– Fox, Ramey
|
|
1
|
Learning the Bash Shell. O'Reilly Associates
– Newham, Rosenblatt
- 1998
|