|
ABSTRACT
Program dependence graphs have been proposed for use in optimizing, vectorizing, and parallelizing compilers, and for program integration. This paper proposes their use as the basis for incremental program testing when using test data adequacy criteria. Test data adequacy is commonly used to provide some confidence that a particular test suite does a reasonable job of testing a program. Incremental program testing using test data adequacy criteria addresses the problem of testing a modified program given an adequate test suite for the original program. Ideally, one would like to create an adequate test suite for the modified program that reuses as many files from the old test suite as possible. Furthermore, one would like to know, for every file that is in both the old and the new test suites, whether the program components exercised by that file have been affected by the program modification; if no components have been affected, then it is not necessary to rerun the program using that file.
In this paper we define adequacy criteria based on the program dependence graph, and propose techniques based on program slicing to identify components of the modified program that can be tested using files from the old test suite, and components that have been affected by the modification. This information can be used to reduce the time required to create new test files, and to avoid unproductive retesting of unaffected components. Although exact identification of the components listed above is, in general, undecidable, we demonstrate that our techniques provide safe approximations.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Alfred V. Aho , Ravi Sethi , Jeffrey D. Ullman, Compilers: principles, techniques, and tools, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1986
|
| |
2
|
S. Bates and S. Horwitz, "Incremental Program Testing Using Program Dependence Graphs," technical report in reparation, Computer Sciences Department, University of Wisconsin, Madison, WI (1992).
|
| |
3
|
S. Bates and S. Horwitz, "On integrating Programs with Input," in preparation, Computer Sciences Department, University of Wisconsin, Madison, WI (1992).
|
| |
4
|
S. Bates and S. Horwitz, "Test Data Adequacy Criteria Based on Program Dependence Graphs," in preparation, Computer Sciences Department, University of Wisconsin, Madison, WI (1992).
|
| |
5
|
T. Chusho, "Coverage Measure for Path Testing Based on the Concept of Essential Branches," Journal of Information Processing 6(4) pp. 199-205 (1983).
|
| |
6
|
|
| |
7
|
L.A. Clarke, "A System to Generate Test Data and Symbolically Execute Programs," IEEE Transactions on Software Engineering SE-2(3) pp. 215-222 (September 1976).
|
| |
8
|
|
| |
9
|
V. Donzeau-Gouge, G. Huet, G. Kahn, and B. Lang, "Programming environments based on structured editors: The MENTOR experience," pp. 128-140 in Interactive Programming Environments, ed. D. Barstow, E. Sandewall, and H. Shrobe,MeGraw-Hiil, New York, NY (1984).
|
 |
10
|
|
| |
11
|
R. Gupta and M. L. Sofia, "Automatic Generation of a Compact Test Suite," Technical Report, University of Pittsburgh, Pittsburgh, PA (1991).
|
| |
12
|
M.J. Harrold and M. L. Sofia, "An Incremental Approach to Unit Testing during Maintenance," Proceedings of the Conference on Software Maintenance (Phoenix, Arizona), pp. 362-367 (October 24-27, 1988).
|
 |
13
|
S. Horwitz , J. Prins , T. Reps, On the adequacy of program dependence graphs for representing programs, Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.146-157, January 10-13, 1988, San Diego, California, United States
[doi> 10.1145/73560.73573]
|
 |
14
|
|
 |
15
|
|
 |
16
|
|
| |
17
|
|
| |
18
|
W.E. Howden, "Reliability of the Path Analysis Testing Strategy," IEEE Transactions on Software Engineering SE- 2(3) pp. 208-215 (September 1976).
|
 |
19
|
|
| |
20
|
|
| |
21
|
K.W. Krause, R. W. Smith, and M. A. Goodwin, "Optimal Software Test Planning Through Automated Network Analysis," Record of the 1973 IEEE Symposium on Computer Software Reliability (New York, New York), pp. 18-22 (April 30-May 2, 1973).
|
 |
22
|
|
| |
23
|
J.W. Laski and B. Korel, "A Data Flow Oriented Program Testing Strategy," IEEE Transactions on Software Engineering SE-9(3) pp. 347-354 (May 1983).
|
| |
24
|
B. Mariek, "A Survey of Test Effectiveness and Cost Studies," Report No. UIUCDCS-R-90-1652, Department of Computer Science, University of Illinois at Urbana- Champaign, Urbana, IL (December 1990).
|
| |
25
|
D. Notkin, R. Ellison, B. Staudt, G. Kaiser, E. Kant, A. Habermann, V. Ambriola, and C. Montangero, Special issue on the GANDALF project, Journal of Systems and Software 5(2)(May 1985).
|
| |
26
|
S.C. Ntafos, "On Required Element Testing," IEEE Transactions on Software Engineering SE-10(6)pp. 795-803 (November 1984).
|
| |
27
|
T.J. Ostrand and E. J. Weyuker, "Using Data Flow Analysis for Regression Testing," Proceedings of the Sixth Annual Pacific Northwest Software Quality Conference (Portland, Oregon), (September 19-20, 1988).
|
 |
28
|
|
| |
29
|
|
| |
30
|
|
| |
31
|
|
| |
32
|
E. Schatz and B. G. Ryder, "Directed Tracing to Detect Race Conditions," LCSR-TR-176, Laboratory for Computer Science Research, Rutgers University, New Brunswick, NJ (February 1992).
|
| |
33
|
A. Taha, S. M. Thebaut, and S. Liu, "An Approach to Software Fault Localization and Revalidation Based on Incremental Data Flow Analysis," Proceedings of the Thir. teenth Annual International Computer Software & Applications Conference (orlando, Florida), pp. 552-558 (September 20-22, 1989).
|
| |
34
|
M. Weiser, "Program Slicing," IEEE Transactions on Software Engineering SE-10(4) pp. 352-357 (July 1984).
|
| |
35
|
|
CITED BY 40
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nurit Dor , Tal Lev-Ami , Shay Litvak , Mooly Sagiv , Dror Weiss, Customization change impact analysis for erp professionals via program slicing, Proceedings of the 2008 international symposium on Software testing and analysis, July 20-24, 2008, Seattle, WA, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sheng Huang , Yang Chen , Jun Zhu , Zhong Jie Li , Hua Fang Tan, An optimized change-driven regression testing selection strategy for binary Java applications, Proceedings of the 2009 ACM symposium on Applied Computing, March 08-12, 2009, Honolulu, Hawaii
|
|
|
|
|
|
|
|