|
ABSTRACT
Testing and code editing are interleaved activities during program development. When tests fail unexpectedly, the changes that caused the failure(s) are not always easy to find. We explore how change classification can focus programmer attention on failure-inducing changes by automatically labeling changes Red, Yellow, or Green, indicating the likelihood that they have contributed to a test failure. We implemented our change classification tool JUnit/CIA as an ex-tension to the JUnit component within Eclipse, and evaluated its effectiveness in two case studies. Our results indicate that change classification is an effective technique for finding failure-inducing changes.
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
|
|
| |
2
|
BOHNER, S.A., AND ARNOLD, R. S. An introduction to software change impact analysis. In Software Change Impact Analysis, S. A. Bohner and R. S. Arnold, Eds. IEEE Computer Society Press, 1996, pp. 1--26.
|
| |
3
|
|
 |
4
|
|
 |
5
|
|
| |
6
|
DALLMEIER,V.,LINDIG, C., AND ZELLER, A. Lightweight defect localization for Java. In Proc. 19th European Conf. on Object- Oriented Programming (ECOOP'05) (Glasgow, Scotland, 2005).
|
 |
7
|
Richard A. DeMillo , Hsin Pan , Eugene H. Spafford, Critical slicing for software fault localization, Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis, p.121-134, January 08-10, 1996, San Diego, California, United States
|
| |
8
|
|
 |
9
|
Neelam Gupta , Haifeng He , Xiangyu Zhang , Rajiv Gupta, Locating faulty code using failure-inducing chops, Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, November 07-11, 2005, Long Beach, CA, USA
[doi> 10.1145/1101908.1101948]
|
 |
10
|
Mary Jean Harrold , James A. Jones , Tongyu Li , Donglin Liang , Alessandro Orso , Maikel Pennings , Saurabh Sinha , S. Alexander Spoon , Ashish Gujarathi, Regression test selection for Java software, Proceedings of the 16th ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, p.312-326, October 14-18, 2001, Tampa Bay, FL, USA
|
 |
11
|
Mary Jean Harrold , Gregg Rothermel , Rui Wu , Liu Yi, An empirical investigation of program spectra, Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering, p.83-90, June 16-16, 1998, Montreal, Quebec, Canada
|
 |
12
|
|
 |
13
|
|
| |
14
|
David Chenho Kung , Jerry Gao , Pei Hsia , F. Wen , Yasufumi Toyoshima , Cris Chen, Change Impact Identification in Object Oriented Software Maintenance, Proceedings of the International Conference on Software Maintenance, p.202-211, September 01, 1994
|
| |
15
|
|
| |
16
|
|
 |
17
|
Ben Liblit , Alex Aiken , Alice X. Zheng , Michael I. Jordan, Bug isolation via remote program sampling, Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, June 09-11, 2003, San Diego, California, USA
|
 |
18
|
Ben Liblit , Mayur Naik , Alice X. Zheng , Alex Aiken , Michael I. Jordan, Scalable statistical bug isolation, Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, June 12-15, 2005, Chicago, IL, USA
|
 |
19
|
Chao Liu , Xifeng Yan , Long Fei , Jiawei Han , Samuel P. Midkiff, SOBER: statistical model-based bug localization, Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering, September 05-09, 2005, Lisbon, Portugal
|
| |
20
|
LYLE, J., AND WEISER, M. Automatic bug location by program slicing. In Proceedings of the Second International Conference on Computers and Applications (Beijing (Peking), China, 1987), pp. 877--883.
|
 |
21
|
|
| |
22
|
|
| |
23
|
REN, X., CHESLEY, O., AND RYDER, B. G. Crisp: A debugging tool for Java programs. IEEE Transactions on Software Engineering (April 2006). In press.
|
 |
24
|
Xiaoxia Ren , Fenil Shah , Frank Tip , Barbara G. Ryder , Ophelia Chesley, Chianti: a tool for change impact analysis of java programs, Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 24-28, 2004, Vancouver, BC, Canada
|
| |
25
|
RENIERIS, M., AND REISS, S. Fault localization with nearest neighbor queries. In In Proceedings of the 18th IEEE International Conference on Automated Software Engineering (Montreal, Quebec, Canada, October 2003), pp. 30--39.
|
 |
26
|
Thomas Reps , Thomas Ball , Manuvir Das , James Larus, The use of program profiling for software maintenance with applications to the year 2000 problem, Proceedings of the 6th European conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering, p.432-449, September 22-25, 1997, Zurich, Switzerland
|
 |
27
|
Joseph R. Ruthruff , Margaret Burnett , Gregg Rothermel, An empirical study of fault localization for end-user programmers, Proceedings of the 27th international conference on Software engineering, p.352-361, May 15-21, 2005, St. Louis, MO, USA
[doi> 10.1145/1062455.1062523]
|
 |
28
|
|
| |
29
|
|
 |
30
|
|
 |
31
|
|
| |
32
|
STOERZER, M., RYDER, B. G., REN, X., AND TIP, F. Finding failure-inducing changes using change classification. Tech. Rep. DCS-TR-582, Rutgers University Department of Computer Science, September 2005.
|
| |
33
|
TIP, F. A survey of program slicing techniques. J. of Programming Languages 3, 3 (1995), 121--189.
|
 |
34
|
|
| |
35
|
TONELLA, P. Using a concept lattice of decomposition slices for program understanding and impact analysis. IEEE Trans. on Softw. Engineering 29,6 (2003), 495--509.
|
| |
36
|
|
| |
37
|
|
 |
38
|
|
 |
39
|
|
 |
40
|
|
| |
41
|
|
|