Chianti: A Prototype Change Impact Analysis Tool for Java

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 reported in terms of affected 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. We evaluated Chianti on 6 months of data from M. Ernst’s Daikon system, and found that, on average, 62.4% of the tests is affected. Furthermore, each affected test, on average, is affected by only 5.6% of the atomic changes. These findings suggest that change impact analysis is a promising technique for assisting developers with program understanding and debugging.

By: Xiaoxia Ren, Fenil Shah, Frank Tip, Barbara G. Ryder, Ophelia Chesley, Julian Dolby

Published in: RC22983 in 2003

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

rc22983.pdf

Questions about this service can be mailed to reports@us.ibm.com .