Chianti: A tool for change impact analysis of Java']Java programs

被引:207
作者
Ren, XX
Shah, F
Tip, F
Ryder, BG
Chesley, O
机构
[1] Rutgers State Univ, Div Comp & Informat Sci, Piscataway, NJ 08854 USA
[2] IBM Software Grp, Hawthorne, NY 10532 USA
[3] IBM Corp, Thomas J Watson Res Ctr, Yorktown Hts, NY 10598 USA
关键词
algorithms; measurement; languages; reliability; change impact analysis; regression test; unit test; analysis of object-oriented programs;
D O I
10.1145/1035292.1029012
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper reports on the design and implementation of Chianti, a change impact analysis tool for Java that is implemented in the context of the Eclipse environment. Chianti analyzes two versions of an application and decomposes their difference into a set of atomic changes. Change impact is then reported in terms of affected (regression or unit) tests whose execution behaviour may have been modified by the applied changes. For each affected test, Chianti also determines a set of affecting changes that were responsible for the test's modified behaviour. This latter step of isolating the changes that induce the failure of one specific test from those changes that only affect other tests can be used as a debugging technique in situations where a test fails unexpectedly after a long editing session. We evaluated Chianti on a year (2002) of CVS data from M. Ernst's Daikon system, and found that, on average, 52% of Daikon's unit tests are affected. Furthermore, each affected unit test, on average, is affected by only 3.95% of the atomic changes. These findings suggest that our change impact analysis is a promising technique for assisting developers with program understanding and debugging.
引用
收藏
页码:432 / 448
页数:17
相关论文
共 28 条
[1]  
[Anonymous], 2000, THESIS U WASHINGTON
[2]  
[Anonymous], P 26 ACM SIGPLAN SIG
[3]  
Arnold Robert S, 1996, Software Change Impact Analysis
[4]  
Bates S., 1993, Conference Record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, P384, DOI 10.1145/158511.158694
[5]   Semantics guided regression test cost reduction [J].
Binkley, D .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1997, 23 (08) :498-516
[6]  
CHEN YF, 1994, PROC INT CONF SOFTW, P211
[7]  
EIDORFF PH, 1999, P ACM SIGPLAN SIGACT, P11
[8]  
Elbaum S., 2003, J SOFTWARE TESTING V
[9]   USING PROGRAM SLICING IN SOFTWARE MAINTENANCE [J].
GALLAGHER, KB ;
LYLE, JR .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1991, 17 (08) :751-761
[10]  
Gosling James, 2000, The Java Language Specification