SlideShare a Scribd company logo
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
An Exploratory Study of Macro Co-changes
Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and
Giuliano Antoniol
Universit´e de Montr´eal, Qu´ebec, Canada
Thursday, October 20, 2011
Pattern Trace Identification, Detection, and Enhancement in Java
SOftware Cost-effective Change and Evolution Research Lab
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Introduction
Context
◮ Developers must continually change their software
programs to meet new requirements and user needs.
◮ Many approaches extract and analyse the changes
undergone by artefacts and infer change propagation.a
◮ Several of these approaches identify co-changes among
artefacts.b
a
A. E. Hassan and R. C. Holt. ICSM 2004.
b
Z. Xing and E. Stroulia. TSE 2005.
2 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Introduction
Co-change
◮ Two artefacts are co-changing if they were changed by
the same author and with the same log message in a
time-window of less than 200 ms.a
◮ Mockusb defined the proximity in time of check-ins as
the check-in time of adjacent files that differ by less
than three minutes.
◮ Other studiesc described issues about identifying atomic
change sets and reported that, in all cases, they differed
by few minutes.
a
T. Zimmermann et al. ICSE 2004.
b
A. Mockus et al. TSE 2004.
c
D. M. German. TSE 2006.
3 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Problems and Motivation
Missing Dependencies
◮ If files (e.g., in ArgoUML,
NotationUtilityJava.java and
ModelElementNameNotationUml.java) were never
changed by the same developer at the same time but
were changed by developers (mvw and tfmorris) in two
consecutive change periods.
◮ Previous co-changes are intrinsically limited in time.
They cannot express patterns of changes between long
time intervals (e.g., ArgoDiagram.java and
ModeCreateAssociationClass.java were maintained
by the same developer but separated by few hours).
4 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Problems and Motivation
Macro co-change
A macro co-change is two or more files that change together,
i.e., they were maintained in the same change periods.
Figure: Two changes performed by one developer are sequential in
time (after few hours), F1 and F2 are macro co-changing
5 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Problems and Motivation
Dephase macro co-change
A dephase macro co-change is two or more files that have
been observed to change with the same shift s.
Figure: Files F1 and F2 are changed by different developers in two
consecutive periods of time. They are dephase macro co-changing6 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Macocha
(1/9)
Macocha
We propose Macocha to:
1. Mine version-control systems (CVS and SVN).
2. Identify the change periods in a program.
3. Group the program source files according to their
stability through the change periods.
4. Identify among changed files those that have similar
co-changes pattern.
7 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Macocha
(2/9)
Macocha
We draw inspiration and extend the classical sliding window
approacha to consider that two subsequent changes are part
of one change period if they were committed by:
◮ any author;
◮ with any log message;
◮ without an interrupt between two changes.
a
T. Zimmermann et al. ICSE 2004.
8 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Macocha
(3/9)
Macocha
◮ The duration of a change period is less than 40 hours.a
◮ If the interrupt between two subsequent changes is
more than t = 5.17 hours, theses two changes belong to
two different change periods.
◮ A SMCC is two or more files that have identical profiles
during the life cycle of a program.
◮ A SDMCC is the set composed of F1 and one or more
files, F2...FM, such that F2...FM always macro co-change
with the same shift in time s with respect to F1.
◮ We use the Hamming distance DH to measure the
amount of differences between two change profiles.
a
L. Hatton. Computer 2007.
9 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Macocha
(4/9)
Figure: Analysis-process of Macocha
10 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Macocha
(5/9)
Macocha
Step 1: Detection of change periods.
Figure: Analysis of commits and creation of change periods
11 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Macocha
(6/9)
Macocha
Step 2: Creation of files profiles.
Figure: From revision control systems to file profiles
12 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Macocha
(7/9)
Macocha
Step 3: Stability analysis.
Figure: Profiles showing file stability
13 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Macocha
(8/9)
Macocha
Step 4: Detection of macro co-changes.
Figure: Files F1 and F2 are in macro co-change
Figure: Three different bit vectors showing approximate macro
co-changes (D(F1,F2)=2; D(F1,F3)=4)
14 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Macocha
(9/9)
Macocha
Step 5: Detection of dephase macro co-changes.
Figure: Three different bit vectors showing dephase macro
co-changes
15 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Empirical study
Research questions
1. How does Macocha compare to previous work in term
of precision and recall?
2. Are there (approximate) dephase macro co-changes
among files and what is their usefulness?
Objects
We now present the results of our empirical study. We apply
Macocha on four different programs: ArgoUML, FreeBSD,
SIP, and XalanC, developed with three different
programming languages, C, C++, and Java.
16 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Empirical study
Objects
ArgoUML FreeBSD SIP XalanC
Languages Java C Java C++
Versions 30 8 2 21
Files 3,148 3,603 2,790 529
Changes 16,727 186,959 8,046 397,052
Start Dates 98-01-26 94-05-25 05-07-21 99-12-18
End Dates 09-01-29 09-02-11 10-12-09 09-01-17
CPs 2,843 1,121 1,553 924
Table: Descriptive statistics of the object programs (CPs: numbers
of change periods)
17 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Empirical study
Results
ArgoUML FreeBSD SIP XalanC
Idle files 202 1,856 963 7
Changed files 2,946 1,747 1,827 522
# of SMCC 166 121 142 36
Max # files 35 24 15 17
Min # files 2 2 2 2
# of SMCCH 196 163 182 85
Max # files 46 44 32 22
Min # files 2 2 2 2
# of SDMCC 11 1 6 1
Max # files 4 2 3 2
Min # files 2 2 2 2
# of SDMCCH 53 63 36 4
Max # files 6 8 5 2
Min # files 2 2 2 2
Table: Cardinalities of the sets obtained in the empirical study
18 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Validation
(1/3)
Validation
We perform two types of validation:
◮ Quantitatively, we compare the stability analysis of
Macocha with that of UMLDiffa and the co-change
analysis of Macocha with association rulesb.
◮ Qualitatively, we use external information provided by
bugs reports, mailing lists, and requirement descriptions
to validate the (dephase) macro co-changes not found
using association rules.
a
Z. Xing et al. ICSE 2005.
b
T. Zimmermann et al. ICSE 2004.
19 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Validation
(2/3)
Validation
Idle Groups Changed Groups
ArgoUML
Idle Clusters 202 0
Short-lived Clusters 0 1,390
Active Clusters 0 1,556
SIP
Idle Clusters 963 0
Short-lived Clusters 0 997
Active Clusters 0 830
XalanC
Idle Clusters 7 0
Short-lived Clusters 0 291
Active Clusters 0 231
Table: Cardinality of Macocha sets in comparison to UMLDiff
20 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Validation
(3/3)
Validation
Association Rules Macocha
Precision Recall Precision Recall
ArgoUML 15% 66% 20% 75%
FreeBSD 22% 100% 24% 100%
SIP 18% 89% 24% 91%
XalanC 16% 100% 22% 100%
Table: Association rules’s approach vs. Macocha
Association Rules External Information
Precision Recall Precision Recall
ArgoUML 86% 98% 100% 99%
FreeBSD 98% 100% 100% 100%
SIP 85% 96% 100% 98%
XalanC 90% 100% 100% 100%
Table: External evaluation of Macocha when using the results of
the association rules’s approach as oracle and after manual
validation using external information
21 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Conclusion and Ongoing Work
Conclusion
1. We introduced the novel concepts of macro co-changes
and dephase macro co-changes to describe that two files
were changed by developers within same change
periods, with possible shifts in time.
2. We described, Macocha, an approach to detect
(dephase) macro co-changes using file profiles and their
stability in time.
3. We performed two types of validations: quantitatively
and qualitatively, and we showed that SMCC and SDMCC
do exist and bring supplementary information.
22 / 23
An Exploratory
Study of Macro
Co-changes
Fehmi Jaafar,
Yann-Ga¨el
Gu´eh´eneuc, Sylvie
Hamel, and
Giuliano Antoniol
Introduction and
context
Problems and
Motivation
Macocha
Empirical study
Validation
Conclusion and
Ongoing Work
Conclusion and Ongoing Work
Ongoing Work
1. Performing a comprehensive study of the number of
MCCs and DMCCs with varying values of t and s.
2. Performing a comprehensive study of the different kinds
of DMCCs.
3. Relating MCCs and DMCCs with static analysis and
external software characteristics, such as change
proneness.
23 / 23

More Related Content

Similar to Wcre11a.ppt

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
 
Thesis+of+fehmi+jaafar.ppt
Thesis+of+fehmi+jaafar.pptThesis+of+fehmi+jaafar.ppt
Thesis+of+fehmi+jaafar.pptPtidej Team
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Educationstemrpm
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Educationstemprm
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Educationarammann
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Educationiloughlab
 
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLSSBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLScsandit
 
Karlo Stetic Thesis Summary
Karlo Stetic Thesis SummaryKarlo Stetic Thesis Summary
Karlo Stetic Thesis SummaryKarlo Stetic
 
What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?Alfonso Pierantonio
 
1) How will managers of a monopolistically competitive firm de.docx
1) How will managers of a monopolistically competitive firm de.docx1) How will managers of a monopolistically competitive firm de.docx
1) How will managers of a monopolistically competitive firm de.docxLynellBull52
 
BIO-INSPIRED REQUIREMENTS VARIABILITY MODELING WITH USE CASE
BIO-INSPIRED REQUIREMENTS VARIABILITY MODELING WITH USE CASE BIO-INSPIRED REQUIREMENTS VARIABILITY MODELING WITH USE CASE
BIO-INSPIRED REQUIREMENTS VARIABILITY MODELING WITH USE CASE mathsjournal
 
Bio-Inspired Requirements Variability Modeling with use Case
Bio-Inspired Requirements Variability Modeling with use Case Bio-Inspired Requirements Variability Modeling with use Case
Bio-Inspired Requirements Variability Modeling with use Case ijseajournal
 
Neuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxNeuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxvannagoforth
 
Neuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxNeuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxdohertyjoetta
 
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS cscpconf
 

Similar to Wcre11a.ppt (20)

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
 
Icsm11b.ppt
Icsm11b.pptIcsm11b.ppt
Icsm11b.ppt
 
Thesis+of+fehmi+jaafar.ppt
Thesis+of+fehmi+jaafar.pptThesis+of+fehmi+jaafar.ppt
Thesis+of+fehmi+jaafar.ppt
 
Csmr11a.ppt
Csmr11a.pptCsmr11a.ppt
Csmr11a.ppt
 
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
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Education
 
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLSSBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS
 
Karlo Stetic Thesis Summary
Karlo Stetic Thesis SummaryKarlo Stetic Thesis Summary
Karlo Stetic Thesis Summary
 
What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?What is needed for managing co-evolution in MDE?
What is needed for managing co-evolution in MDE?
 
1) How will managers of a monopolistically competitive firm de.docx
1) How will managers of a monopolistically competitive firm de.docx1) How will managers of a monopolistically competitive firm de.docx
1) How will managers of a monopolistically competitive firm de.docx
 
BIO-INSPIRED REQUIREMENTS VARIABILITY MODELING WITH USE CASE
BIO-INSPIRED REQUIREMENTS VARIABILITY MODELING WITH USE CASE BIO-INSPIRED REQUIREMENTS VARIABILITY MODELING WITH USE CASE
BIO-INSPIRED REQUIREMENTS VARIABILITY MODELING WITH USE CASE
 
Bio-Inspired Requirements Variability Modeling with use Case
Bio-Inspired Requirements Variability Modeling with use Case Bio-Inspired Requirements Variability Modeling with use Case
Bio-Inspired Requirements Variability Modeling with use Case
 
Neuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxNeuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docx
 
Neuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docxNeuroscience meets cryptography ( This is the topic for research p.docx
Neuroscience meets cryptography ( This is the topic for research p.docx
 
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS
SBML FOR OPTIMIZING DECISION SUPPORT'S TOOLS
 
الواجججج
الواججججالواجججج
الواجججج
 
Csmr12.ppt
Csmr12.pptCsmr12.ppt
Csmr12.ppt
 

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

Some Pitfalls with Python and Their Possible Solutions v1.0
Some Pitfalls with Python and Their Possible Solutions v1.0Some Pitfalls with Python and Their Possible Solutions v1.0
Some Pitfalls with Python and Their Possible Solutions v1.0Yann-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)

Some Pitfalls with Python and Their Possible Solutions v1.0
Some Pitfalls with Python and Their Possible Solutions v1.0Some Pitfalls with Python and Their Possible Solutions v1.0
Some Pitfalls with Python and Their Possible Solutions v1.0
 
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
 

Recently uploaded

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessWSO2
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...informapgpstrackings
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageGlobus
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Hivelance Technology
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfOrtus Solutions, Corp
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownloadvrstrong314
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Shahin Sheidaei
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsGlobus
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfAMB-Review
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
 

Recently uploaded (20)

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 

Wcre11a.ppt

  • 1. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Universit´e de Montr´eal, Qu´ebec, Canada Thursday, October 20, 2011 Pattern Trace Identification, Detection, and Enhancement in Java SOftware Cost-effective Change and Evolution Research Lab
  • 2. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Introduction Context ◮ Developers must continually change their software programs to meet new requirements and user needs. ◮ Many approaches extract and analyse the changes undergone by artefacts and infer change propagation.a ◮ Several of these approaches identify co-changes among artefacts.b a A. E. Hassan and R. C. Holt. ICSM 2004. b Z. Xing and E. Stroulia. TSE 2005. 2 / 23
  • 3. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Introduction Co-change ◮ Two artefacts are co-changing if they were changed by the same author and with the same log message in a time-window of less than 200 ms.a ◮ Mockusb defined the proximity in time of check-ins as the check-in time of adjacent files that differ by less than three minutes. ◮ Other studiesc described issues about identifying atomic change sets and reported that, in all cases, they differed by few minutes. a T. Zimmermann et al. ICSE 2004. b A. Mockus et al. TSE 2004. c D. M. German. TSE 2006. 3 / 23
  • 4. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Problems and Motivation Missing Dependencies ◮ If files (e.g., in ArgoUML, NotationUtilityJava.java and ModelElementNameNotationUml.java) were never changed by the same developer at the same time but were changed by developers (mvw and tfmorris) in two consecutive change periods. ◮ Previous co-changes are intrinsically limited in time. They cannot express patterns of changes between long time intervals (e.g., ArgoDiagram.java and ModeCreateAssociationClass.java were maintained by the same developer but separated by few hours). 4 / 23
  • 5. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Problems and Motivation Macro co-change A macro co-change is two or more files that change together, i.e., they were maintained in the same change periods. Figure: Two changes performed by one developer are sequential in time (after few hours), F1 and F2 are macro co-changing 5 / 23
  • 6. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Problems and Motivation Dephase macro co-change A dephase macro co-change is two or more files that have been observed to change with the same shift s. Figure: Files F1 and F2 are changed by different developers in two consecutive periods of time. They are dephase macro co-changing6 / 23
  • 7. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Macocha (1/9) Macocha We propose Macocha to: 1. Mine version-control systems (CVS and SVN). 2. Identify the change periods in a program. 3. Group the program source files according to their stability through the change periods. 4. Identify among changed files those that have similar co-changes pattern. 7 / 23
  • 8. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Macocha (2/9) Macocha We draw inspiration and extend the classical sliding window approacha to consider that two subsequent changes are part of one change period if they were committed by: ◮ any author; ◮ with any log message; ◮ without an interrupt between two changes. a T. Zimmermann et al. ICSE 2004. 8 / 23
  • 9. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Macocha (3/9) Macocha ◮ The duration of a change period is less than 40 hours.a ◮ If the interrupt between two subsequent changes is more than t = 5.17 hours, theses two changes belong to two different change periods. ◮ A SMCC is two or more files that have identical profiles during the life cycle of a program. ◮ A SDMCC is the set composed of F1 and one or more files, F2...FM, such that F2...FM always macro co-change with the same shift in time s with respect to F1. ◮ We use the Hamming distance DH to measure the amount of differences between two change profiles. a L. Hatton. Computer 2007. 9 / 23
  • 10. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Macocha (4/9) Figure: Analysis-process of Macocha 10 / 23
  • 11. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Macocha (5/9) Macocha Step 1: Detection of change periods. Figure: Analysis of commits and creation of change periods 11 / 23
  • 12. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Macocha (6/9) Macocha Step 2: Creation of files profiles. Figure: From revision control systems to file profiles 12 / 23
  • 13. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Macocha (7/9) Macocha Step 3: Stability analysis. Figure: Profiles showing file stability 13 / 23
  • 14. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Macocha (8/9) Macocha Step 4: Detection of macro co-changes. Figure: Files F1 and F2 are in macro co-change Figure: Three different bit vectors showing approximate macro co-changes (D(F1,F2)=2; D(F1,F3)=4) 14 / 23
  • 15. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Macocha (9/9) Macocha Step 5: Detection of dephase macro co-changes. Figure: Three different bit vectors showing dephase macro co-changes 15 / 23
  • 16. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Empirical study Research questions 1. How does Macocha compare to previous work in term of precision and recall? 2. Are there (approximate) dephase macro co-changes among files and what is their usefulness? Objects We now present the results of our empirical study. We apply Macocha on four different programs: ArgoUML, FreeBSD, SIP, and XalanC, developed with three different programming languages, C, C++, and Java. 16 / 23
  • 17. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Empirical study Objects ArgoUML FreeBSD SIP XalanC Languages Java C Java C++ Versions 30 8 2 21 Files 3,148 3,603 2,790 529 Changes 16,727 186,959 8,046 397,052 Start Dates 98-01-26 94-05-25 05-07-21 99-12-18 End Dates 09-01-29 09-02-11 10-12-09 09-01-17 CPs 2,843 1,121 1,553 924 Table: Descriptive statistics of the object programs (CPs: numbers of change periods) 17 / 23
  • 18. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Empirical study Results ArgoUML FreeBSD SIP XalanC Idle files 202 1,856 963 7 Changed files 2,946 1,747 1,827 522 # of SMCC 166 121 142 36 Max # files 35 24 15 17 Min # files 2 2 2 2 # of SMCCH 196 163 182 85 Max # files 46 44 32 22 Min # files 2 2 2 2 # of SDMCC 11 1 6 1 Max # files 4 2 3 2 Min # files 2 2 2 2 # of SDMCCH 53 63 36 4 Max # files 6 8 5 2 Min # files 2 2 2 2 Table: Cardinalities of the sets obtained in the empirical study 18 / 23
  • 19. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Validation (1/3) Validation We perform two types of validation: ◮ Quantitatively, we compare the stability analysis of Macocha with that of UMLDiffa and the co-change analysis of Macocha with association rulesb. ◮ Qualitatively, we use external information provided by bugs reports, mailing lists, and requirement descriptions to validate the (dephase) macro co-changes not found using association rules. a Z. Xing et al. ICSE 2005. b T. Zimmermann et al. ICSE 2004. 19 / 23
  • 20. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Validation (2/3) Validation Idle Groups Changed Groups ArgoUML Idle Clusters 202 0 Short-lived Clusters 0 1,390 Active Clusters 0 1,556 SIP Idle Clusters 963 0 Short-lived Clusters 0 997 Active Clusters 0 830 XalanC Idle Clusters 7 0 Short-lived Clusters 0 291 Active Clusters 0 231 Table: Cardinality of Macocha sets in comparison to UMLDiff 20 / 23
  • 21. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Validation (3/3) Validation Association Rules Macocha Precision Recall Precision Recall ArgoUML 15% 66% 20% 75% FreeBSD 22% 100% 24% 100% SIP 18% 89% 24% 91% XalanC 16% 100% 22% 100% Table: Association rules’s approach vs. Macocha Association Rules External Information Precision Recall Precision Recall ArgoUML 86% 98% 100% 99% FreeBSD 98% 100% 100% 100% SIP 85% 96% 100% 98% XalanC 90% 100% 100% 100% Table: External evaluation of Macocha when using the results of the association rules’s approach as oracle and after manual validation using external information 21 / 23
  • 22. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Conclusion and Ongoing Work Conclusion 1. We introduced the novel concepts of macro co-changes and dephase macro co-changes to describe that two files were changed by developers within same change periods, with possible shifts in time. 2. We described, Macocha, an approach to detect (dephase) macro co-changes using file profiles and their stability in time. 3. We performed two types of validations: quantitatively and qualitatively, and we showed that SMCC and SDMCC do exist and bring supplementary information. 22 / 23
  • 23. An Exploratory Study of Macro Co-changes Fehmi Jaafar, Yann-Ga¨el Gu´eh´eneuc, Sylvie Hamel, and Giuliano Antoniol Introduction and context Problems and Motivation Macocha Empirical study Validation Conclusion and Ongoing Work Conclusion and Ongoing Work Ongoing Work 1. Performing a comprehensive study of the number of MCCs and DMCCs with varying values of t and s. 2. Performing a comprehensive study of the different kinds of DMCCs. 3. Relating MCCs and DMCCs with static analysis and external software characteristics, such as change proneness. 23 / 23