SlideShare a Scribd company logo
1 of 25
Download to read offline
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
A Seismology-inspired Approach
to Study Change Propagation
Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el
Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol
SOCCER Lab. and Ptidej Team – DGIGL, ´Ecole Polytechnique de
Montr´eal, Qu´ebec, Canada
September 27, 2011
Pattern Trace Identification, Detection, and Enhancement in Java
SOftware Cost-effective Change and Evolution Research Lab
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Context and Motivation
Software evolves continuously, requiring continuous
maintenance and development
Software maintenance is the most costly and difficult
phase in software life cycle
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, etc.)
2 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Change Impact Analysis
Change impact analysis is defined by Bohner and
Arnold [1] as“identifying the potential consequences of
a change, or estimating what needs to be modified to
accomplish a change”.
[1] S. A. Bohner and R. S. Arnold, Software Change Impact Analysis. IEEE
Computer Society Press, 1996.
3 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Existing approaches
Structure-based Analysis
Dependency analysis of source code is performed using
static or dynamic program analyses
The relationships between classes make change impact
difficult to anticipate (e.g., hidden propagation)
History-based Analysis
Mining software repositories to identify co-changes of
software artefacts within a change-set
It is often able to capture change couplings that cannot
be captured by static and dynamic analyses.
They lack to capture how changes are spread over space
(e.g., class diagram) They could not help developers
prioritise their changes according to the forecast scope
of changes
Probabilistic Approaches
Building change propagation models to predict future
change couplings using probabilistic tools (e.g.,
Bayesian Networks, Time Series Analysis, etc.)
4 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Motivating example
Bug ID200551 reports a bug in Rhino, that was
introduced by a developer when he implemented a
change to class Kit and missed a required change to
class DefiningClassLoader.
Information passes from class Kit to class
DefiningClassLoader through an intermediary class
ContextFactory that remains unchanged.
5 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Our goal
Propose an approach to study the scope of change
propagation based on a seismology metaphore
Our approach considers changes to a class as an
earthquake that propagates through a long chain of
relationships
Our approach combines static dependencies
between classes and historical co-change relations
to study how far a change propagation will proceed
from a given class to the others.
6 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
The Earthquake Metaphor
Active seismic areas “Important” classes
Earthquake Software change
Epicenter “Important” changed class
Seismic wave propagation Change propagation
Damaged sites “Impacted” classes
Distance from an epicenter Class level
7 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Approach
Step 1: Identifying the most important classes
Using PageRank-based metric, History-based metric,
and Combination of the both metrics.
Step 2: Identifying class levels
Using static dependencies between classes
Step 3: Identifying impacted classes
Using historical co-change relations extracted from
software repositories
8 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Step 1: Identifying the most important classes
9 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Step 2: Identifying class levels (1/2)
C
B
A
D
F
E
G
cr cr cr
co
in
ag as
in
in
in
(a) UML-like model
C D
A
B
E
F G
dm dm
cr
dmdm
cr cr
co
dm
in
ag as
in
in
in
(b) Eulerian model
(c) String representation of the Eulerian model
Figure: The conversion of a class diagram into string (from [2]).
[2] O. Kaczor, Y.-G. Gu´eh´eneuc, and S. Hamel, Efficient identification of
design patterns with bit-vector algorithm,pp. 175–184. IEEE Computer
Society Press, 2006.
10 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Step 2: Identifying class levels (2/2)
Bit-Vector Algorithm
Input:
The Epicenter Class (e.g., class A)
The String Representation of the program
Output:
Class levels (e.g., Level0 = {A}, Level1 = {B, F},
Level2 ={D, E, C}, Level3 = {G}, Level4 = {F})
11 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Step 3: Identifying impacted classes
We define a time window T of observation as the
median of time between two subsequent changes to the
epicenter class.
We extract all the commits that happened after any
change to the epicenter class and within the chosen
time window T.
We use our framework Ibdoos to implement queries for
collecting the set of classes that changed after any
change to the epicenter class and during T.
12 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Empirical Study Design
Goal: to show the applicability and usefulness of our
approach
Purpose: to gather interesting observations on the
scope of change propagation and confirming these
observations statistically
Quality focus: is the accuracy of the identified scope of
change propagation
Perspective: researchers and practitioners who should
be aware of the scope of a change to estimate the effort
required for future maintenance tasks. The observed
phenomena can help for making decisions concerning
the process of future software projects.
Context: three open source systems: Pooka, Rhino, and
Xerces-J.
13 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Research Questions (1/3)
RQ1: Does our metaphor allow us to observe the scope of
change impact?
We investigate whether it is possible to apply our
approach to observe change propagation through class
levels
We perform a qualitative study to confirm our
observations of change propagation, using external
information
Thus, we can show that, indeed, like in seismology,
certain levels are more impacted by a change than
others
14 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Research Questions (2/3)
RQ2: What is the level most impacted by a change?
We perform a quantitative study to confirm our
observations of change propagation, using statistical
tests to investigate which level may be the most
impacted by a change, and classifying the levels having
similar impact
Thus, we can deduce all classes with a higher risk to be
impacted by any change to epicenter class
15 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Research Questions (3/3)
RQ3: What is the most reachable level by a change?
As in RQ2, we perform a quantitative study to confirm
our observations of change propagation, using statistical
tests to investigate, for each level, the number of
earthquakes that propagate until a given level.
Thus, we can deduce the most reachable level.
16 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Analysis Methods
RQ1: Using the R statistical system, we build the 3D
graph visualising the change propagation from the
epicenter class to other classes.
RQ2: We compute, for each level, the number of
classes that changed after any change to the considered
epicenter class.
RQ3: For each level, we create a subset that contains
the number of earthquakes that stop at this level.
We conduct Duncan’s multiple range test to classify the
subsets with respect to the differences between them.
17 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Study Results (1/3)
RQ1: Does our metaphor allow us to observe the scope of
change impact?
(a) class XMLEventImpl (b) class TypeValidator
Figure: Change propagation
Epicenter class XMLEntityScanner: we found the bug
ID1099 that relate the changes to the epicenter class
with changes to XMLParser (level 3).
18 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Study Results (2/3)
RQ2: What is the level most impacted by a change?
Homogenous subsets for alpha = 0.1
Levels Range 1 Range 2 Range 3
5 107.5410
4 147.7778
3 150.0000
2 202.0408
1 354.4828
Table: Rhino: Duncan’s test applied on“number of changes”
Homogenous subsets for alpha = 0.1
Levels Range 1 Range 2 Range 3
6 6.4015
5 10.8485
4 24.8333
3 50.2789
2 83.7273
1 895.2652
Table: Xerces-J: Duncan’s test applied on“number of changes”
19 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Study Results (3/3)
RQ3: What is the most reachable level by a change?
Homogenous subsets for alpha = 0.1
Max Level Range 1 Range 2 Range 3
5 .5833
4 1.3712
3 1.7500
2 4.6136
1 11.7121
Table: Rhino: Duncan’s test applied on“number of earthquakes”
Homogenous subsets for alpha = 0.1
Max Level Range 1 Range 2 Range 3
6 10.5333
5 16.3333
4 21.6667
3 30.0033
2 43.2000
1 54.8667
Table: Xerces-J: Duncan’s test applied on“number of earthquakes”
20 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Threats to Validity (1/2)
Construct validity concerns the relation between
theory and observations. In this study, they could be
due to the chosen time windows which may affect our
observations.
Internal Validity of a study is the extent to which a
treatment impacts the dependent variable. The
internal validity of our study is not threatened because
we have not manipulated the independent variable,
extent of the change propagation.
21 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Threats to Validity (2/2)
External Validity of a study relates to the extent to
which we can generalise its results. The main threat
to the external validity of our study that could affect
the generalisation of the presented results relates to the
analysed programs. Future work includes replicating this
study on other programs to confirm our results.
Conclusion validity threats deals with the relation
between the treatment and the outcome. We paid
attention not to violate assumptions of the performed
statistical tests. Thus, we improved our conclusion
validity by increasing the risk of making a Type I error
(increase the chance that we will find a relationship
when in fact there is not), we can do that statistically
by raising the alpha level. For instance, instead of using
0.05 significance level, we use 0.1 as our cutoff point.
22 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Conclusion (1/2)
We proposed an approach to study how far a change
propagation will proceed from a given class to the
others.
We performed a qualitative and two quantitative
studies. We showed that our intuition, about the
impacted classes by a change must be near to the
changed class, is incorrect in some cases. However,
there are some change propagations that reach the 5th
level in Rhino (and 6th in Xerces-J).
23 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Conclusion (2/2)
Identifying the scope of change propagation could help,
both developers and managers. Developers could locate
easily the change impact. Managers could estimate the
efforts required to perform changes more accurately.
Future work: Apply our metaphor and our approach to
other programs to confirm our observations. We will
also adapt seismology models to predict changes to
classes.
24 / 25
Soccerlab and
Ptidej team
Seminar
Salima Hassaine,
Ferdaous
Boughanmi,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, Giuliano
Antoniol
Introduction
The Earthquake
Metaphor
Approach
Empirical Study
Study Results
Conclusion
Questions?
25 / 25

More Related Content

Similar to Icsm11b.ppt

Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Educationiloughlab
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Educationstemrpm
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Educationstemprm
 
Impact of the Time Step in DEM Simulations on Granular Mixing Properties
Impact of the Time Step in DEM Simulations on Granular Mixing PropertiesImpact of the Time Step in DEM Simulations on Granular Mixing Properties
Impact of the Time Step in DEM Simulations on Granular Mixing Propertiesjodoua
 
Dynamic Fractional Resource Scheduling Practical Issues and Future Directions...
Dynamic Fractional Resource Scheduling Practical Issues and Future Directions...Dynamic Fractional Resource Scheduling Practical Issues and Future Directions...
Dynamic Fractional Resource Scheduling Practical Issues and Future Directions...Mark Stillwell
 
Vertex Centric Asynchronous Belief Propagation Algorithm for Large-Scale Graphs
Vertex Centric Asynchronous Belief Propagation Algorithm for Large-Scale GraphsVertex Centric Asynchronous Belief Propagation Algorithm for Large-Scale Graphs
Vertex Centric Asynchronous Belief Propagation Algorithm for Large-Scale GraphsUniversidade de São Paulo
 
A Virtual Assistant For Web-Based Training In Engineering Education
A Virtual Assistant For Web-Based Training In Engineering EducationA Virtual Assistant For Web-Based Training In Engineering Education
A Virtual Assistant For Web-Based Training In Engineering EducationAshley Hernandez
 
Etra 2010 Gaze Enhanced Visual Search
Etra 2010 Gaze Enhanced Visual Search Etra 2010 Gaze Enhanced Visual Search
Etra 2010 Gaze Enhanced Visual Search PernillaQ
 
Understanding the Benefits of Gaze-Enhanced Visual Search
Understanding the Benefits of Gaze-Enhanced Visual SearchUnderstanding the Benefits of Gaze-Enhanced Visual Search
Understanding the Benefits of Gaze-Enhanced Visual SearchFXPAL
 
130404 fehmi jaafar - on the relationship between program evolution and fau...
130404   fehmi jaafar - on the relationship between program evolution and fau...130404   fehmi jaafar - on the relationship between program evolution and fau...
130404 fehmi jaafar - on the relationship between program evolution and fau...Ptidej Team
 
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORINGMACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING VisionGEOMATIQUE2014
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Angel Vázquez Patiño
 

Similar to Icsm11b.ppt (20)

Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Education
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Education
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Education
 
Ssbse11b.ppt
Ssbse11b.pptSsbse11b.ppt
Ssbse11b.ppt
 
SSBSE11b.ppt
SSBSE11b.pptSSBSE11b.ppt
SSBSE11b.ppt
 
CSMR12.ppt
CSMR12.pptCSMR12.ppt
CSMR12.ppt
 
ICSE10b.ppt
ICSE10b.pptICSE10b.ppt
ICSE10b.ppt
 
Impact of the Time Step in DEM Simulations on Granular Mixing Properties
Impact of the Time Step in DEM Simulations on Granular Mixing PropertiesImpact of the Time Step in DEM Simulations on Granular Mixing Properties
Impact of the Time Step in DEM Simulations on Granular Mixing Properties
 
these_15-9
these_15-9these_15-9
these_15-9
 
Dynamic Fractional Resource Scheduling Practical Issues and Future Directions...
Dynamic Fractional Resource Scheduling Practical Issues and Future Directions...Dynamic Fractional Resource Scheduling Practical Issues and Future Directions...
Dynamic Fractional Resource Scheduling Practical Issues and Future Directions...
 
Playing with SHULE: Surgical Haptic Learning Environment
Playing with SHULE: Surgical Haptic Learning EnvironmentPlaying with SHULE: Surgical Haptic Learning Environment
Playing with SHULE: Surgical Haptic Learning Environment
 
Vertex Centric Asynchronous Belief Propagation Algorithm for Large-Scale Graphs
Vertex Centric Asynchronous Belief Propagation Algorithm for Large-Scale GraphsVertex Centric Asynchronous Belief Propagation Algorithm for Large-Scale Graphs
Vertex Centric Asynchronous Belief Propagation Algorithm for Large-Scale Graphs
 
A Virtual Assistant For Web-Based Training In Engineering Education
A Virtual Assistant For Web-Based Training In Engineering EducationA Virtual Assistant For Web-Based Training In Engineering Education
A Virtual Assistant For Web-Based Training In Engineering Education
 
Etra 2010 Gaze Enhanced Visual Search
Etra 2010 Gaze Enhanced Visual Search Etra 2010 Gaze Enhanced Visual Search
Etra 2010 Gaze Enhanced Visual Search
 
Understanding the Benefits of Gaze-Enhanced Visual Search
Understanding the Benefits of Gaze-Enhanced Visual SearchUnderstanding the Benefits of Gaze-Enhanced Visual Search
Understanding the Benefits of Gaze-Enhanced Visual Search
 
130404 fehmi jaafar - on the relationship between program evolution and fau...
130404   fehmi jaafar - on the relationship between program evolution and fau...130404   fehmi jaafar - on the relationship between program evolution and fau...
130404 fehmi jaafar - on the relationship between program evolution and fau...
 
Csmr13c.ppt
Csmr13c.pptCsmr13c.ppt
Csmr13c.ppt
 
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORINGMACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING
MACHINE LEARNING FOR SATELLITE-GUIDED WATER QUALITY MONITORING
 
August 24, Introduction to Robotics
August 24, Introduction to RoboticsAugust 24, Introduction to Robotics
August 24, Introduction to Robotics
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...
 

More from Yann-Gaël Guéhéneuc

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Yann-Gaël Guéhéneuc
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Yann-Gaël Guéhéneuc
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Yann-Gaël Guéhéneuc
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Yann-Gaël Guéhéneuc
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Yann-Gaël Guéhéneuc
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...Yann-Gaël Guéhéneuc
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesYann-Gaël Guéhéneuc
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Yann-Gaël Guéhéneuc
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1Yann-Gaël Guéhéneuc
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6Yann-Gaël Guéhéneuc
 

More from Yann-Gaël Guéhéneuc (20)

Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5Advice for writing a NSERC Discovery grant application v0.5
Advice for writing a NSERC Discovery grant application v0.5
 
Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1Ptidej Architecture, Design, and Implementation in Action v2.1
Ptidej Architecture, Design, and Implementation in Action v2.1
 
Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22Evolution and Examples of Java Features, from Java 1.7 to Java 22
Evolution and Examples of Java Features, from Java 1.7 to Java 22
 
Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3Consequences and Principles of Software Quality v0.3
Consequences and Principles of Software Quality v0.3
 
Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9Some Pitfalls with Python and Their Possible Solutions v0.9
Some Pitfalls with Python and Their Possible Solutions v0.9
 
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
An Explanation of the Unicode, the Text Encoding Standard, Its Usages and Imp...
 
An Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its ConsequencesAn Explanation of the Halting Problem and Its Consequences
An Explanation of the Halting Problem and Its Consequences
 
Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0Are CPUs VMs Like Any Others? v1.0
Are CPUs VMs Like Any Others? v1.0
 
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
Informaticien(ne)s célèbres (v1.0.2, 19/02/20)
 
Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2Well-known Computer Scientists v1.0.2
Well-known Computer Scientists v1.0.2
 
On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1On Java Generics, History, Use, Caveats v1.1
On Java Generics, History, Use, Caveats v1.1
 
On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6On Reflection in OO Programming Languages v1.6
On Reflection in OO Programming Languages v1.6
 
ICSOC'21
ICSOC'21ICSOC'21
ICSOC'21
 
Vissoft21.ppt
Vissoft21.pptVissoft21.ppt
Vissoft21.ppt
 
Service computation20.ppt
Service computation20.pptService computation20.ppt
Service computation20.ppt
 
Serp4 iot20.ppt
Serp4 iot20.pptSerp4 iot20.ppt
Serp4 iot20.ppt
 
Msr20.ppt
Msr20.pptMsr20.ppt
Msr20.ppt
 
Iwesep19.ppt
Iwesep19.pptIwesep19.ppt
Iwesep19.ppt
 
Icsoc20.ppt
Icsoc20.pptIcsoc20.ppt
Icsoc20.ppt
 
Icsoc18.ppt
Icsoc18.pptIcsoc18.ppt
Icsoc18.ppt
 

Recently uploaded

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 

Recently uploaded (20)

Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 

Icsm11b.ppt

  • 1. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion A Seismology-inspired Approach to Study Change Propagation Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol SOCCER Lab. and Ptidej Team – DGIGL, ´Ecole Polytechnique de Montr´eal, Qu´ebec, Canada September 27, 2011 Pattern Trace Identification, Detection, and Enhancement in Java SOftware Cost-effective Change and Evolution Research Lab
  • 2. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Context and Motivation Software evolves continuously, requiring continuous maintenance and development Software maintenance is the most costly and difficult phase in software life cycle 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, etc.) 2 / 25
  • 3. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Change Impact Analysis Change impact analysis is defined by Bohner and Arnold [1] as“identifying the potential consequences of a change, or estimating what needs to be modified to accomplish a change”. [1] S. A. Bohner and R. S. Arnold, Software Change Impact Analysis. IEEE Computer Society Press, 1996. 3 / 25
  • 4. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Existing approaches Structure-based Analysis Dependency analysis of source code is performed using static or dynamic program analyses The relationships between classes make change impact difficult to anticipate (e.g., hidden propagation) History-based Analysis Mining software repositories to identify co-changes of software artefacts within a change-set It is often able to capture change couplings that cannot be captured by static and dynamic analyses. They lack to capture how changes are spread over space (e.g., class diagram) They could not help developers prioritise their changes according to the forecast scope of changes Probabilistic Approaches Building change propagation models to predict future change couplings using probabilistic tools (e.g., Bayesian Networks, Time Series Analysis, etc.) 4 / 25
  • 5. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Motivating example Bug ID200551 reports a bug in Rhino, that was introduced by a developer when he implemented a change to class Kit and missed a required change to class DefiningClassLoader. Information passes from class Kit to class DefiningClassLoader through an intermediary class ContextFactory that remains unchanged. 5 / 25
  • 6. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Our goal Propose an approach to study the scope of change propagation based on a seismology metaphore Our approach considers changes to a class as an earthquake that propagates through a long chain of relationships Our approach combines static dependencies between classes and historical co-change relations to study how far a change propagation will proceed from a given class to the others. 6 / 25
  • 7. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion The Earthquake Metaphor Active seismic areas “Important” classes Earthquake Software change Epicenter “Important” changed class Seismic wave propagation Change propagation Damaged sites “Impacted” classes Distance from an epicenter Class level 7 / 25
  • 8. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Approach Step 1: Identifying the most important classes Using PageRank-based metric, History-based metric, and Combination of the both metrics. Step 2: Identifying class levels Using static dependencies between classes Step 3: Identifying impacted classes Using historical co-change relations extracted from software repositories 8 / 25
  • 9. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Step 1: Identifying the most important classes 9 / 25
  • 10. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Step 2: Identifying class levels (1/2) C B A D F E G cr cr cr co in ag as in in in (a) UML-like model C D A B E F G dm dm cr dmdm cr cr co dm in ag as in in in (b) Eulerian model (c) String representation of the Eulerian model Figure: The conversion of a class diagram into string (from [2]). [2] O. Kaczor, Y.-G. Gu´eh´eneuc, and S. Hamel, Efficient identification of design patterns with bit-vector algorithm,pp. 175–184. IEEE Computer Society Press, 2006. 10 / 25
  • 11. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Step 2: Identifying class levels (2/2) Bit-Vector Algorithm Input: The Epicenter Class (e.g., class A) The String Representation of the program Output: Class levels (e.g., Level0 = {A}, Level1 = {B, F}, Level2 ={D, E, C}, Level3 = {G}, Level4 = {F}) 11 / 25
  • 12. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Step 3: Identifying impacted classes We define a time window T of observation as the median of time between two subsequent changes to the epicenter class. We extract all the commits that happened after any change to the epicenter class and within the chosen time window T. We use our framework Ibdoos to implement queries for collecting the set of classes that changed after any change to the epicenter class and during T. 12 / 25
  • 13. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Empirical Study Design Goal: to show the applicability and usefulness of our approach Purpose: to gather interesting observations on the scope of change propagation and confirming these observations statistically Quality focus: is the accuracy of the identified scope of change propagation Perspective: researchers and practitioners who should be aware of the scope of a change to estimate the effort required for future maintenance tasks. The observed phenomena can help for making decisions concerning the process of future software projects. Context: three open source systems: Pooka, Rhino, and Xerces-J. 13 / 25
  • 14. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Research Questions (1/3) RQ1: Does our metaphor allow us to observe the scope of change impact? We investigate whether it is possible to apply our approach to observe change propagation through class levels We perform a qualitative study to confirm our observations of change propagation, using external information Thus, we can show that, indeed, like in seismology, certain levels are more impacted by a change than others 14 / 25
  • 15. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Research Questions (2/3) RQ2: What is the level most impacted by a change? We perform a quantitative study to confirm our observations of change propagation, using statistical tests to investigate which level may be the most impacted by a change, and classifying the levels having similar impact Thus, we can deduce all classes with a higher risk to be impacted by any change to epicenter class 15 / 25
  • 16. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Research Questions (3/3) RQ3: What is the most reachable level by a change? As in RQ2, we perform a quantitative study to confirm our observations of change propagation, using statistical tests to investigate, for each level, the number of earthquakes that propagate until a given level. Thus, we can deduce the most reachable level. 16 / 25
  • 17. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Analysis Methods RQ1: Using the R statistical system, we build the 3D graph visualising the change propagation from the epicenter class to other classes. RQ2: We compute, for each level, the number of classes that changed after any change to the considered epicenter class. RQ3: For each level, we create a subset that contains the number of earthquakes that stop at this level. We conduct Duncan’s multiple range test to classify the subsets with respect to the differences between them. 17 / 25
  • 18. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Study Results (1/3) RQ1: Does our metaphor allow us to observe the scope of change impact? (a) class XMLEventImpl (b) class TypeValidator Figure: Change propagation Epicenter class XMLEntityScanner: we found the bug ID1099 that relate the changes to the epicenter class with changes to XMLParser (level 3). 18 / 25
  • 19. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Study Results (2/3) RQ2: What is the level most impacted by a change? Homogenous subsets for alpha = 0.1 Levels Range 1 Range 2 Range 3 5 107.5410 4 147.7778 3 150.0000 2 202.0408 1 354.4828 Table: Rhino: Duncan’s test applied on“number of changes” Homogenous subsets for alpha = 0.1 Levels Range 1 Range 2 Range 3 6 6.4015 5 10.8485 4 24.8333 3 50.2789 2 83.7273 1 895.2652 Table: Xerces-J: Duncan’s test applied on“number of changes” 19 / 25
  • 20. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Study Results (3/3) RQ3: What is the most reachable level by a change? Homogenous subsets for alpha = 0.1 Max Level Range 1 Range 2 Range 3 5 .5833 4 1.3712 3 1.7500 2 4.6136 1 11.7121 Table: Rhino: Duncan’s test applied on“number of earthquakes” Homogenous subsets for alpha = 0.1 Max Level Range 1 Range 2 Range 3 6 10.5333 5 16.3333 4 21.6667 3 30.0033 2 43.2000 1 54.8667 Table: Xerces-J: Duncan’s test applied on“number of earthquakes” 20 / 25
  • 21. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Threats to Validity (1/2) Construct validity concerns the relation between theory and observations. In this study, they could be due to the chosen time windows which may affect our observations. Internal Validity of a study is the extent to which a treatment impacts the dependent variable. The internal validity of our study is not threatened because we have not manipulated the independent variable, extent of the change propagation. 21 / 25
  • 22. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Threats to Validity (2/2) External Validity of a study relates to the extent to which we can generalise its results. The main threat to the external validity of our study that could affect the generalisation of the presented results relates to the analysed programs. Future work includes replicating this study on other programs to confirm our results. Conclusion validity threats deals with the relation between the treatment and the outcome. We paid attention not to violate assumptions of the performed statistical tests. Thus, we improved our conclusion validity by increasing the risk of making a Type I error (increase the chance that we will find a relationship when in fact there is not), we can do that statistically by raising the alpha level. For instance, instead of using 0.05 significance level, we use 0.1 as our cutoff point. 22 / 25
  • 23. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Conclusion (1/2) We proposed an approach to study how far a change propagation will proceed from a given class to the others. We performed a qualitative and two quantitative studies. We showed that our intuition, about the impacted classes by a change must be near to the changed class, is incorrect in some cases. However, there are some change propagations that reach the 5th level in Rhino (and 6th in Xerces-J). 23 / 25
  • 24. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Conclusion (2/2) Identifying the scope of change propagation could help, both developers and managers. Developers could locate easily the change impact. Managers could estimate the efforts required to perform changes more accurately. Future work: Apply our metaphor and our approach to other programs to confirm our observations. We will also adapt seismology models to predict changes to classes. 24 / 25
  • 25. Soccerlab and Ptidej team Seminar Salima Hassaine, Ferdaous Boughanmi, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, Giuliano Antoniol Introduction The Earthquake Metaphor Approach Empirical Study Study Results Conclusion Questions? 25 / 25