OOPSLA '04

Program
Technical Program
  Invited Speakers
  Technical Papers
  Onward!
  Panels
  Practitioner Reports
  Tutorials
Workshops
DesignFest
Educators' Symposium
Demonstrations
Posters
Doctoral Symposium
Exhibits
Student Research Comp.
FlashBoF
 
Turing Lecture
 
Social Events
 
Week at a Glance
 
Final Program (1.5M .pdf)

Find in Program
 

Page
Printer-friendly

Basket
view, help

"Chianti: A Tool for Change Impact Analysis of Java Programs"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
 
  > Technical Program > Technical Papers > Verification and Validation

 : Thursday

Chianti: A Tool for Change Impact Analysis of Java Programs

Meeting Rooms 1-3
Thursday, 11:30, 30 minutes
 


 
7·8·9·10·11·12·13·14·15·16·17·18·19·20·21

Xiaoxia Ren, Rutgers University
Fenil Shah, IBM Software Group
Frank Tip, IBM T.J. Watson Research Center
Barbara Ryder, Rutgers University
Ophelia Chesley, Rutgers University

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 behavior 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 behavior. 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, 51% of the unit tests are affected. Furthermore, each affected unit test, on average, is affected by only 3.88% of the atomic changes. These findings suggest that our change impact analysis is a promising technique for assisting developers with program understanding and debugging.