Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Change Impact Analysis: an Earthquake Metaphor Salima Hassaine, Ferdaous Boughanmi, Yann-Gaël Guéhéneuc, Sylvie Hamel and Giuliano Antoniol 1. MOTIVATION 5. CONTRIBUTIONS AND FUTURE WORK Making changes without understanding their effects can lead to poor effort estimation and delays in release schedules because of their consequences, e.g., the introduction of bugs. We proposed an approach to analyse change propagation and to study how far a change propagation will proceed from a given class to the others. Our approach considers changes to a class as an earthquake that propagates through the class levels, defined by the length of relationships chain that relate the epicenter class to the other classes. Motivating example In Rhino, Bug ID2005511 was introduced by a developer when he implemented a change to class Kit and missed a required change to class DefiningClassLoader. In this case, information passes from class Kit to class DefiningClassLoader through an intermediary class ContextFactory (remained unchanged). Future work Adapt eismology models to predict changes to classes. 2. EARTHQUAKE METAPHOR Level 3 Seismology Change Impact Analysis G Level 2 Level 1 D A B F C E 3. APPROACH Step 1: Identifying Epicenter Class PageRank-based Metric Step 2: Identifying Class Levels 3. APPROACH Step 3: Identifying Impacted Classes History-based Metric 1. We define a time window T of observation as the median of time between two subsequent changes to the important epicenter class. 2. We extract all the commits that happened after any change to an epicenter class and within the chosen time window T. Bit-Vector Algorithm Combination of the above metrics We use Ibdoos to implement queries to collect the set of classes that changed after any change to the epicenter class and during T. Extracting data from Software repositories 4. EMPIRICAL STUDY Context Analysis Method Results RQ1: Using the R statistical system, we build the 3D graph visualising the change propagation from the epicenter class to other classes. Research Questions RQ1 RQ2 For each level, we create a subset that Change propagation from XMLEventImpl contains the number of classes that changed after any change to the considered epicenter class. RQ1: Does our metaphor allow us to observe the scope of change impact? RQ3: For each level, we create a subset that RQ2: What is the level most impacted by a change? contains the number of earthquakes that stop at this level. RQ3: What is the most reachable level by a change? RQ2 Change propagation from TypeValidator RQ3 We conduct Duncan’s multiple range test to classify the subsets with respect to the differences between them. CONTACT INFORMATION ACKNOWLEDGMENT PTIDEJ Team Pattern Trace Identification, Detection, and Enhancement in Java Salima Hassaine hassaisa@iro.umontreal.ca Ferdaous Boughanmi ferdaous.boughanmi@polymtl.ca Yann-Gaël Guéhéneuc Sylvie Hamel yann-gael.gueheneucg@polymtl.ca hamelsyl@iro.umontreal.ca Giuliano Antoniol antoniol@ieee.org This research was partially supported by FQRNT, NSERC, and Research Chairs in Software Patterns and Patterns of Software and in Software Evolution.