SlideShare a Scribd company logo
1 of 23
Download to read offline
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 Educationstemprm
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Educationarammann
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Educationiloughlab
 
Constructivist Laboratory Education
Constructivist Laboratory EducationConstructivist Laboratory Education
Constructivist Laboratory Educationstemrpm
 
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

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

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfVishalKumarJha10
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

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