Your SlideShare is downloading. ×
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply



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

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  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 Ferdaous Boughanmi Yann-Gaël Guéhéneuc Sylvie Hamel Giuliano Antoniol This research was partially supported by FQRNT, NSERC, and Research Chairs in Software Patterns and Patterns of Software and in Software Evolution.