SlideShare a Scribd company logo
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.

More Related Content

PDF
Tracking dependencies between code changes
PDF
USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE ...
PDF
Cascon05 tooldemo.ppt
PDF
OOPSLA02 BehavioralSemantics.ppt
PDF
Projet COM02.ppt
PDF
Software Design Patterns in Theory
PDF
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges
PDF
Tracking dependencies between code changes
USING STRUCTURAL HOLES METRICS FROM COMMUNICATION NETWORKS TO PREDICT CHANGE ...
Cascon05 tooldemo.ppt
OOPSLA02 BehavioralSemantics.ppt
Projet COM02.ppt
Software Design Patterns in Theory
AsianPLoP'14: How and Why Design Patterns Impact Quality and Future Challenges

Similar to Icpc11a.ppt (20)

PDF
Csmr13c.ppt
PDF
130404 fehmi jaafar - on the relationship between program evolution and fau...
PDF
Test Generation for Analog and Mixed-Signal Circuits Using Hybrid System Mode...
PDF
TEST GENERATION FOR ANALOG AND MIXED-SIGNAL CIRCUITS USING HYBRID SYSTEM MODELS
PDF
FEEDBACK LINEARIZATION AND BACKSTEPPING CONTROLLERS FOR COUPLED TANKS
PDF
FEEDBACK LINEARIZATION AND BACKSTEPPING CONTROLLERS FOR COUPLED TANKS
PDF
FEEDBACK LINEARIZATION AND BACKSTEPPING CONTROLLERS FOR COUPLED TANKS
PDF
Feedback linearization and Backstepping controllers for Coupled Tanks
PDF
Scalable Static and Dynamic Community Detection Using Grappolo : NOTES
PDF
General Theory of Boundaries
PDF
Tutorial marzo2011 villen
PDF
AN EMPIRICAL STUDY OF THE RELATION BETWEEN STRONG CHANGE COUPLING AND DEFECTS...
PDF
SPECIFICATION OF THE STATE’S LIFETIME IN THE DEVS FORMALISM BY FUZZY CONTROLLER
PDF
Modeling adoptions and the stages of the diffusion of innovations
PDF
Ijciet 08 02_025
PDF
COMPARISON OF LABVIEW WITH SAP2000 AND NONLIN FOR STRUCTURAL DYNAMICS PROBLEMS
PDF
TO_EDIT
PDF
Mathematics 08-00326
PPTX
[20240722_LabSeminar_Huy]WaveForM: Graph Enhanced Wavelet Learning for Long S...
PPTX
Finding bursty topics from microblogs
Csmr13c.ppt
130404 fehmi jaafar - on the relationship between program evolution and fau...
Test Generation for Analog and Mixed-Signal Circuits Using Hybrid System Mode...
TEST GENERATION FOR ANALOG AND MIXED-SIGNAL CIRCUITS USING HYBRID SYSTEM MODELS
FEEDBACK LINEARIZATION AND BACKSTEPPING CONTROLLERS FOR COUPLED TANKS
FEEDBACK LINEARIZATION AND BACKSTEPPING CONTROLLERS FOR COUPLED TANKS
FEEDBACK LINEARIZATION AND BACKSTEPPING CONTROLLERS FOR COUPLED TANKS
Feedback linearization and Backstepping controllers for Coupled Tanks
Scalable Static and Dynamic Community Detection Using Grappolo : NOTES
General Theory of Boundaries
Tutorial marzo2011 villen
AN EMPIRICAL STUDY OF THE RELATION BETWEEN STRONG CHANGE COUPLING AND DEFECTS...
SPECIFICATION OF THE STATE’S LIFETIME IN THE DEVS FORMALISM BY FUZZY CONTROLLER
Modeling adoptions and the stages of the diffusion of innovations
Ijciet 08 02_025
COMPARISON OF LABVIEW WITH SAP2000 AND NONLIN FOR STRUCTURAL DYNAMICS PROBLEMS
TO_EDIT
Mathematics 08-00326
[20240722_LabSeminar_Huy]WaveForM: Graph Enhanced Wavelet Learning for Long S...
Finding bursty topics from microblogs
Ad

More from Ptidej Team (20)

PDF
From IoT to Software Miniaturisation
PDF
Presentation
PDF
Presentation
PDF
Presentation
PDF
Presentation by Lionel Briand
PDF
Manel Abdellatif
PDF
Azadeh Kermansaravi
PDF
Mouna Abidi
PDF
CSED - Manel Grichi
PDF
Cristiano Politowski
PDF
Will io t trigger the next software crisis
PDF
PDF
Thesis+of+laleh+eshkevari.ppt
PDF
Thesis+of+nesrine+abdelkafi.ppt
PDF
Medicine15.ppt
PDF
Qrs17b.ppt
PDF
Icpc11c.ppt
PDF
Icsme16.ppt
PDF
Msr17a.ppt
PDF
Icsoc15.ppt
From IoT to Software Miniaturisation
Presentation
Presentation
Presentation
Presentation by Lionel Briand
Manel Abdellatif
Azadeh Kermansaravi
Mouna Abidi
CSED - Manel Grichi
Cristiano Politowski
Will io t trigger the next software crisis
Thesis+of+laleh+eshkevari.ppt
Thesis+of+nesrine+abdelkafi.ppt
Medicine15.ppt
Qrs17b.ppt
Icpc11c.ppt
Icsme16.ppt
Msr17a.ppt
Icsoc15.ppt
Ad

Icpc11a.ppt

  • 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.