supporting software integration activities with fine ... · untangling fine-grained code changes...
TRANSCRIPT
![Page 1: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/1.jpg)
Supporting Software Integration Activities
with Fine-grained Code Changes
Martín Dias
Advisor: Stéphane Ducasse
Co-Advisor: Damien Cassou
Research team: RMoD - Inria Lille
Begin: November 30th, 2012
End: November 29th, 2015
Fundings: INRIA doctoral grant
![Page 2: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/2.jpg)
Software Integration
![Page 3: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/3.jpg)
IntegratorDevelopers
Branch
MergeCommit
![Page 4: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/4.jpg)
? $@%&!
Text-based
Semantical Conflicts
Impacts
Cherry-picking
1
2
2+𝝙
Integrator
1+𝝙
Developers
ah crotte!(biiiip)
![Page 5: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/5.jpg)
• Who is the owner of this changed code?
• Which entities (e.g. classes, methods) have been changed?
• What is the intention of this commit?
• What bug fixes also affected the entities impacted by this change?
• Does this commit depend on previous ones?
Authorship
Code structure
Change intention
Bug tracking
Change sequence
![Page 6: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/6.jpg)
Do Tools Support Code Integration? A Survey
(1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): Norizzk.com, Belgium
(Under submission to Journal of Technology)
Martín Dias (1), Stéphane Ducasse (1), Damien Cassou (1), Verónica Uquillas-Gómez (2)
![Page 7: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/7.jpg)
RQ What is the importance and tools support of each question?
RQ What questions do integrators ask?
➡ Open call in 3 development mailing-lists➡ Literature survey
➡ Survey experts (42 integrators)
![Page 8: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/8.jpg)
![Page 9: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/9.jpg)
Impact (ripple effects) ?
![Page 10: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/10.jpg)
Tangled changes?
![Page 11: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/11.jpg)
Understanding Change Impact
Understanding Change Dependencies when Cherrypicking
Understanding Change Scattering
Most important questions without tool support
![Page 12: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/12.jpg)
Untangling Fine-Grained Code Changes
(1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS @ Software Engineering Research Group, Delft University of Technology, The Netherlands (3): Digital Security Group, Radboud Universiteit Nijmegen, The Netherlands
(SANER’15)
Martín Dias (1), Alberto Bacchelli (2), Georgios Gousios (3), Damien Cassou (1), Stéphane Ducasse (1)
![Page 13: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/13.jpg)
VCS
commit
t
Feature #6
Fix Bug
Feature #6
CH1 A.toString()
CH2 B.getFoo()
CH3 B.toString()
CH4 C.getBar()
CH5 B.toString()
Tangled
Development
![Page 14: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/14.jpg)
VCS
commit
CH1 A.toString()
CH2 B.getFoo()
CH3 B.toString()
CH4 C.getBar()
CH5 B.toString()-1
+1
Integration
![Page 15: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/15.jpg)
VCS
commit
CH1 A.toString()
CH2 B.getFoo()
CH3 B.toString()
CH4 C.getBar()
CH5 B.toString()-1
+1
Integration
![Page 16: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/16.jpg)
VCS
commit
commit
CH1
CH4
CH5
CH2
CH3
TangledCH1
CH4
CH5
CH2
CH3
untangler tool
![Page 17: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/17.jpg)
Herzig and Zeller (MSR 2013)
VCS repositories of 6 Java projects
Tangled commits: 20%
Untangling algorithm using features of code changes
![Page 18: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/18.jpg)
Features of code changes?
![Page 19: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/19.jpg)
CH4
CH5
CH1
CH3
CH1
CH2
Pair
…
…
…
…
…
…
Linear Regression
…
Call Graph Distance
…
File Distance
…
![Page 20: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/20.jpg)
CH1
CH4
CH5
CH2
CH3
CH1
CH4
CH5
CH2
CH3
CH4
CH5
CH1
CH3
CH1
CH2
… ……… …
…
…
…
Herzig and Zeller (MSR 2013)
![Page 21: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/21.jpg)
Limitations
![Page 22: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/22.jpg)
dynamically-typed languages
light static analysis
![Page 23: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/23.jpg)
t
CH1
CH2
CH3 B.toString()
CH4
CH5 B.toString()
![Page 24: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/24.jpg)
t
CH1
CH2
CH3 B.toString()
CH4
CH5 B.toString()
![Page 25: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/25.jpg)
t
CH1
CH2
CH3 B.toString()
CH4
CH5 B.toString()
Shadowing
![Page 26: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/26.jpg)
Negara et al. (ECOOP’12)
“We found that 37% of code changes are shadowed by other changes, and are not
stored in VCS.”
![Page 27: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/27.jpg)
t
CH1
CH2
CH3
CH4
CH5
![Page 28: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/28.jpg)
t
CH1
CH2
CH3
CH4
CH5
Timestamps
![Page 29: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/29.jpg)
t
CH1
CH2
CH3
CH4
CH5
Timestamps
![Page 30: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/30.jpg)
VCSs don’t have this information
![Page 31: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/31.jpg)
t
CH1
CH2
CH3
CH4
CH5
unit test☑
unit test☒
Test Runner
Activity
![Page 32: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/32.jpg)
t
CH1
CH2
CH3
CH4
CH5
unit test☑
unit test☒
Test Runner
Activity
![Page 33: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/33.jpg)
Overcoming such limitations
![Page 34: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/34.jpg)
Epicea
fine-grained code changes & IDE events logging
![Page 35: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/35.jpg)
plugin
A.toString()
B.getFoo()
B.toString()
C.getBar()
B.toString()
t
CH1
CH2
CH3
CH4
CH5
unit test☒
unit test☑
💡
Fine-Grained
Code Changes
![Page 36: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/36.jpg)
Epicea Model: Events
![Page 37: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/37.jpg)
Epicea Model: Code Changes
![Page 38: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/38.jpg)
Epicea Log Browser
![Page 39: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/39.jpg)
pluginA.toString()
B.getFoo()
B.toString()
C.getBar()
B.toString()
t
CH1
CH2
CH3
CH4
CH5
unit test☒
unit test☑☑
☒
💡
untangler tool
Fine-Grained
Code Changes
![Page 40: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/40.jpg)
Epicea Untangler
CH1
CH4
CH5
CH2
CH3
CH1
CH4
CH5
CH2
CH3
CH4
CH5
CH1
CH3
CH1
CH2
… ……… …
…
…
…
any binary classifier+ fine-grained
features
![Page 41: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/41.jpg)
A.toString()
B.getFoo()
B.toString()
C.getBar()
B.toString()
t
CH1
CH2
CH3
CH4
CH5
unit test☒
unit test☑
CH4
CH5
CH2
CH3
CH1
CH3
Pair
…
…
Ordered distance
2
1
1
…
…
Time difference
300”
10”
10”
…
…
Same test run
F
T
F
…
…
Fine-Grained
Code Changes
Epicea Untangler: Features
![Page 42: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/42.jpg)
Static Code Analysis
same class same package same method name # shared variable accesses # shared method calls # shared variable accesses in delta # shared method calls in delta # variable accesses reciprocal method calls both cosmetic changes
Fine-grained Code Change Analysis
ordered distance timestamp difference same test run
Epicea Untangler: Features
![Page 43: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/43.jpg)
binary logistic regression naïve bayes random forests
Epicea Untangler: Classifiers
different assumptions on underlaying data and model
![Page 44: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/44.jpg)
Epicea Untangler
CH1
CH4
CH5
CH2
CH3
CH1
CH4
CH5
CH2
CH3
CH4
CH5
CH1
CH3
CH1
CH2
… ……… …
…
…
…
binary classifier+ fine-grained
features
Which features are dominant?
Most effective classifier?RQRQ
![Page 45: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/45.jpg)
4 monthsx 2
plugin
☑
☒
Manual Untangling
http://dx.doi.org/10.6084/m9.figshare.1241571
Published
![Page 46: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/46.jpg)
![Page 47: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/47.jpg)
training testing
same
crossed
combined
Most effective classifier?RQ
1
2
AUC ACC PREC REC F.MEASURE G.MEAN
binary logistic regression 0.92 0.68 0.43 0.96 0.60 0.76
naïve bayes 0.88 0.65 0.41 0.94 0.57 0.73
random forests 0.99 0.96 0.96 0.88 0.92 0.93
1 1
1 2
1 12
![Page 48: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/48.jpg)
Which features are dominant?RQ
AUC ACC PREC REC F.MEASURE G.MEAN
binary logistic regression 0.92 0.68 0.43 0.96 0.60 0.76
naïve bayes 0.88 0.65 0.41 0.94 0.57 0.73
random forests 0.99 0.96 0.96 0.88 0.92 0.93
random forests w/ 0.98 0.95 0.96 0.82 0.88 0.90
time difference
ordered distance
same class
dominant { Simple
features!
dominant
![Page 49: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/49.jpg)
Which features are dominant?RQ
95% of accuracyCH x 200
97% of accuracyCH x 800
Only 2 days
of work!
time difference
ordered distance
same class
dominant { Simple
features!
![Page 50: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/50.jpg)
CH1
CH4
CH5
CH2
CH3
CH1
CH4
CH5
CH2
CH3
CH4
CH5
CH1
CH3
CH1
CH2
… ……… …
…
…
…
RQ Is it effective with new data from real users?
Good with
initial data
![Page 51: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/51.jpg)
plugin EpiceaUntangler
manual
sorting
2 weeksx 6
![Page 52: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/52.jpg)
Is it effective with new data?RQ
➡Median success rate: 91%
➡Qualitative feedback:
• “It works good in many cases, especially for not so big change sets”
• “It was a bit painful to check everything”
# successfully clustered changes # changes
Success rate =
![Page 53: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/53.jpg)
Conclusion
![Page 54: Supporting Software Integration Activities with Fine ... · Untangling Fine-Grained Code Changes (1): RMoD Inria Lille–Nord Europe, University of Lille — CRIStAL, France(2): SORCERERS](https://reader033.vdocuments.us/reader033/viewer/2022060307/5f09da5d7e708231d428ceb2/html5/thumbnails/54.jpg)
Supporting Software Integration Activities with Fine-grained Code Changes
Martín Dias, RMoD Inria-Lille — University of Lille 1, Cristal
IntegratorDevelopers
Branch
MergeCommit