SlideShare a Scribd company logo
1 of 81
Download to read offline
Ph.D. Defense
Improving Program Comprehension and
Recommendation Systems using Developers’
Context
Z´ephyrin Soh
Supervised by:
Dr. Yann-Ga¨el Gu´eh´eneuc, Dr. Giuliano Antoniol, Dr. Foutse Khomh
Polytechnique Montr´eal, Canada
December 8, 2015
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 1/40
Outline
1 Context & Motivations
2 Problems & Thesis Statement
3 Contribution 1: Quality of ITs
4 Contribution 2: Recommendation Systems
5 Contribution 3: Developers’ Effort
6 Contribution 4: Program Exploration
7 Conclusion
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 2/40
Context & Motivations
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 3/40
Context & Motivations
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 3/40
Context & Motivations
Maintenance cost increases [1]
*Source:http://cvmountain.com *Source:https://www.leaseweb.com
1981 1999
[1] Stephen R. Schach, Object-Oriented and Classical Software Engineering. Eighth
Edition McGraw-Hill, New York, 2011, pp. 11
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 4/40
Context & Motivations
Typical Scenario for maintenance using ITS and SCR
Stakeholder
(user/developer)
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40
Context & Motivations
Typical Scenario for maintenance using ITS and SCR
Stakeholder
(user/developer)
ITS
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40
Maintenance task = change request (bug
or enhancement)
Context & Motivations
Typical Scenario for maintenance using ITS and SCR
Stakeholder
(user/developer)
ITS
Triaging
Paul Mary Sylvia
Developers
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40
Context & Motivations
Typical Scenario for maintenance using ITS and SCR
Workspace
Stakeholder
(user/developer)
ITS
Triaging
Workspace
(+Mylyn)
Paul Mary Sylvia
Developers
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40
Optionally use a monitoring tool to collect
logs
Mandatory in the policy of some projects
Context & Motivations
Typical Scenario for maintenance using ITS and SCR
Workspace
Stakeholder
(user/developer)
ITS
Triaging
Workspace
(+Mylyn)
Paul Mary Sylvia
Developers
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40
Interaction traces or context: Acyivity logs
collected when developers interacted with
program entities through the IDE
Patch: All the changes performed on the
program
Context & Motivations
Typical Scenario for maintenance using ITS and SCR
Workspace
Stakeholder
(user/developer)
ITS
Triaging
Workspace
(+Mylyn)
Paul Mary Sylvia
SCR
Commiter/
reviewer
Developers
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40
Task is resolved: “fixed/closed”
Context & Motivations
Typical Scenario for maintenance using ITS and SCR
Workspace
Stakeholder
(user/developer)
ITS
Triaging
Workspace
(+Mylyn)
Paul Mary Sylvia
SCR
Commiter
reviewer
Developers
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40
The stakeholders involved in the
development need help, in particular the
one who is in charge of performing
changes to resolve the task
Context & Motivations
Workspace
(+Mylyn)
Paul
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40
Context & Motivations
Workspace
(+Mylyn)
Paul
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40
Barry Boehm, Software engineering. IEEE Trans. Computers, 1976
Context & Motivations
Difficult
Workspace
(+Mylyn)
Paul
Expensive
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40
Ian Sommerville, Software engineering. Pearson, ninth edition, 2011
Context & Motivations
Difficult
Workspace
(+Mylyn)
Paul
Expensive
Search
Relate
Collect
Relevant
information
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40
Ko , An exploratory study of how developers seek, relate, and collect relevant
information during software maintenance tasks. IEEE TSE, 2006
Context & Motivations
Difficult
Workspace
(+Mylyn)
Paul
~50% time
Expensive
Search
Relate
Collect
Relevant
information
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40
SWEBOK V3.0, Guide of Software Engineering Body of Knowledge. IEEE,
2014, pp. 5-4
Context & Motivations
Difficult
Workspace
(+Mylyn)
Paul
~50% time
Expensive
Search
Relate
Collect
Relevant
information
Program
Exploration
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40
Context & Motivations
Difficult
Workspace
(+Mylyn)
Paul
~50% time
Expensive
Search
Relate
Collect
Relevant
information
Program
Exploration
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40
How developers explore program to find relevant information to
change impacts their effort (and thus their productivity).
Problems & Thesis Statement
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
Problems & Thesis Statement
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
Problems & Thesis Statement
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
Problems & Thesis Statement
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
Problems & Thesis Statement
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
Problems & Thesis Statement
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
No validation
of the
impact of
inacurate ITs
on previous
studies
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
Problems & Thesis Statement
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
No validation
of the
impact of
inacurate ITs
on previous
studies
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
Problems & Thesis Statement
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
No validation
of the
impact of
inacurate ITs
on previous
studies
No empirical
evidence if
complex
change
required
more effort
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
Problems & Thesis Statement
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
No validation
of the
impact of
inacurate ITs
on previous
studies
No empirical
evidence if
complex
change
required
more effort
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
Problems & Thesis Statement
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
No validation
of the
impact of
inacurate ITs
on previous
studies
No empirical
evidence if
complex
change
required
more effort
No systematic
identification
of exploration
strategies
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
Contribution 1: Quality of ITs
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 8/40
Contribution 1: Quality of ITs
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 8/40
Contribution 1: Quality of ITs
Motivations
ITS
Workspace
(+Mylyn)
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 9/40
ITs are collected in real-work
environment
Contribution 1: Quality of ITs
Motivations
ITS
Workspace
(+Mylyn)
Interlease activities Interruptions/Idle times
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 9/40
ITs are collected in real-work
environment
Activities
Contribution 1: Quality of ITs
Motivations
ITS
Workspace
(+Mylyn)
Interlease activities Interruptions/Idle times
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 9/40
ITs are collected in real-work
environment
Activities
The time mined from
ITs is the time spent by the
developers performing the
maintenance task.
Contribution 1: Quality of ITs
Motivations
Kind = “edit” ⇒ change activity
Edit with not null duration
Intent = time spent in the editor is more productive
Intent vs. actual use
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 10/40
Contribution 1: Quality of ITs
Experiment
Are there noises in ITs?
Can we clean noises in ITs?
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 11/40
Contribution 1: Quality of ITs
Experiment
Experiment setting
15 participants
Four systems
1 participant = 1 task
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 12/40
Contribution 1: Quality of ITs
Experiment
Experiment setting
15 participants
Four systems
1 participant = 1 task
Collected data
Mylyn
Interaction
Traces (RITs)
Videos
Video
Transcription
Video-based
Interaction
Traces (VITs)
Workspace
(+Mylyn)
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 12/40
Contribution 1: Quality of ITs
Time-related Noise
e1
e2
e3
ot
d2
it
d3
Time
d1
Global Time (GT) = endDate(e3) - startDate(e1)
Accumulated Time (AT) = d1 + d2 + d3
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 13/40
Contribution 1: Quality of ITs
Time-related Noise
Global vs. Accumulated
VITs: Same results (by definition)
RITs: Different results
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 14/40
Contribution 1: Quality of ITs
Time-related Noise
RITs vs. VITs
RITs miss on average 6% of the time spent to perform the task.
Difference due to overlaps between events
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 15/40
Contribution 1: Quality of ITs
Time-related Noise
RITs
e1
e2
e3
ot
d2
it
d3
Time
d1
Average individual idle times ≈ 30 sec.
Time (RITs) = AT - ot + d
d = it if it < 30 sec.
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 16/40
Contribution 1: Quality of ITs
Edit-related Noise
#edit events (duration = 0)
VITs vs. RITs
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 17/40
Contribution 1: Quality of ITs
Edit-related Noise
All edits are not real modification of the code
ITs contain about 28% of false edit-events
Feedback from Mylyn community
“... the argument that there is noise in the edit events makes
sense to me.”
“The edit events dont have to be textual edits ...”
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 18/40
Contribution 1: Quality of ITs
Cleaning ITs
Noises are prevalents in ITs
Can we clean noises in ITs?
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 19/40
Contribution 1: Quality of ITs
Cleaning ITs
Threshold-based approach
Kind = « edit »
No change Code change
Time <= 24s Time > 24s
Double click
open
Static navigation
(F3)
From search view others
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 20/40
Contribution 1: Quality of ITs
Cleaning ITs
Threshold-based approach
Kind = « edit »
No change Code change
Time <= 24s Time > 24s
Double click
open
Static navigation
(F3)
From search view others
CITs (Cleaned ITs) = RITs + cleaning rules
False edit: P = 93%; R = 64%
True edit: P = 18%; R = 81%
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 20/40
Contribution 1: Quality of ITs
Cleaning ITs
Prediction-based approach
NaiveBayes, J48, Random Forest
Best:J48 with over sampling
False edit: P = 98.5%; R = 90%
True edit: P = 31.8%; R = 77.8%
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 21/40
Contribution 1: Quality of ITs
Conclusion
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
- Method to (in)validate
assumptions
- Cleaning approaches
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 22/40
Contribution 1: Quality of ITs
Conclusion
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
- Method to (in)validate
assumptions
- Cleaning approaches
- Do not make these
assumptions anymore
- Use our approach to
clean ITs
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 22/40
Contribution 2: Recommendation Systems
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
No validation
of the
impact of
inacurate ITs
on previous
studies
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 23/40
Contribution 2: Recommendation Systems
Impact of noises on previous studies
Two studies [2,3]
They made the investigated assumptions
Data and code/scripts available
[2] Ying and Robillard, The influence of the task on programmer bahaviour. ICPC
2011
[3] Lee at al., The impact of view histories on edit recommendations. TSE 2015
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 24/40
Contribution 2: Recommendation Systems
Editing Styles
Overview
0 10.5
e1 e2
e = first half if +50% time(e) in first half
Fraction(e = first)
0 to 19% = edit-last
87 to 100% = edit-first
Otherwise = edit-throughout
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 25/40
Contribution 2: Recommendation Systems
Editing Styles
Approach
VITs (oracle), RITs, CITs
Evaluation
Precision & recall
RITs
Editing style
VITs Editing style
CITs Editing style
Evaluation
Evaluation
Impact
of noise
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 26/40
Contribution 2: Recommendation Systems
Editing Styles
Results
Experiment dataset
Edit-first: →
Edit-last: Recall CITs 22%
Edit-throughout: Precision CITs 4%
On average prediction-based Precision CITs 14% and Recall
CITS 7%
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 27/40
Contribution 2: Recommendation Systems
Editing Styles
Results
Experiment dataset
Edit-first: →
Edit-last: Recall CITs 22%
Edit-throughout: Precision CITs 4%
On average prediction-based Precision CITs 14% and Recall
CITS 7%
Bugzilla data set
1 970 ITs for 4 systems
66%-41% same categorisation
34%-59% different categorisation
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 27/40
Contribution 2: Recommendation Systems
Recommendation Systems
Same dataset
Same source code
Precision 41% (Threshold-based)
Recall 57% (Prediction-based)
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 28/40
Contribution 2: Recommendation Systems
Conclusion
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
No validation
of the
impact of
inacurate ITs
on previous
studies
- Method to (in)validate
assumptions
- Cleaning approaches
- Do not make these
assumptions anymore
- Use our approach to
clean ITs
- Improve
recommendation
systems
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 29/40
Contribution 2: Recommendation Systems
Conclusion
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
No validation
of the
impact of
inacurate ITs
on previous
studies
- Method to (in)validate
assumptions
- Cleaning approaches
- Do not make these
assumptions anymore
- Use our approach to
clean ITs
- Improve
recommendation
systems
- Noises bias the
results of previous
studies
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 29/40
Contribution 3: Developers’ Effort
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
No validation
of the
impact of
inacurate ITs
on previous
studies
No empirical
evidence if
complex
change
required
more effort
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 30/40
Contribution 3: Developers’ Effort
Eclipse bug #188083
Patch #74156
File: 2
LOC : 26
+ 18 LOC
- 8 LOC
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 31/40
Contribution 3: Developers’ Effort
Eclipse bug #134884
Patch #94002
File: 2
LOC : 20
+ 19 LOC
- 1 LOC
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 31/40
Contribution 3: Developers’ Effort
Complexity of the Changes
Which change is more complex?
vs.
Eclipse bug #134884
Patch #94002
File: 2
LOC : 20
+ 19 LOC
- 1 LOC
Eclipse bug #188083
Patch #74156
File: 2
LOC : 26
+ 18 LOC
- 8 LOC
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 31/40
Contribution 3: Developers’ Effort
1 How to estimate the effort spend to provide a patch?
2 Does a complex patch need more effort?
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 32/40
Contribution 3: Developers’ Effort
Metrics
Developers’ effort
Time Spend: Total duration spent on all files and their
contents
Cyclomatic complexity: Cyclomatic complexity of the
exploration graph
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 33/40
Contribution 3: Developers’ Effort
Metrics
Developers’ effort
Time Spend: Total duration spent on all files and their
contents
Cyclomatic complexity: Cyclomatic complexity of the
exploration graph
Complexity of the changes
Entropy: How much the changes are scattered between
files [1]
Change distance: How much difference between the source
code before the changes and source code after.
[1] A. E. Hassan, Predicting faults using the complexity of code changes, ICSE 2009
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 33/40
Contribution 3: Developers’ Effort
Matching
How do we match interactions and patches?
2,408 Interactions histories 3,395 Patches
?
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 34/40
Contribution 3: Developers’ Effort
Matching
How do we match interactions and patches?
2,408 Interactions histories 3,395 Patches
?
Assumption: An interaction is matched to a patch (i.e., the patch
is the result of the corresponding interaction) if and only if both
are attached to the same bug report, by the same developer at the
same date (date/hour/minutes).
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 34/40
Contribution 3: Developers’ Effort
Matching
Unbalanced matchings
Developers modify files without interacting with them:
Changes not requiring much effort, e.g., propagation of
refactoring
Interactions are not collected when performing the task
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 35/40
Contribution 3: Developers’ Effort
Matching
Unbalanced matchings
Developers modify files without interacting with them:
Changes not requiring much effort, e.g., propagation of
refactoring
Interactions are not collected when performing the task
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 35/40
Contribution 3: Developers’ Effort
Matching
Unbalanced matchings
Developers modify files without interacting with them:
Changes not requiring much effort, e.g., propagation of
refactoring
Interactions are not collected when performing the task
F6F4
F5F3
F2
F1
F7
F3
F2
F1
F8
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 35/40
Contribution 3: Developers’ Effort
Matching
Unbalanced matchings
Developers modify files without interacting with them:
Changes not requiring much effort, e.g., propagation of
refactoring
Interactions are not collected when performing the task
F6F4
F5F3
F2
F1
F7
F3
F2
F1
F8
F7
F6
F5
F9
F2
F3
F1
F4
F8
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 35/40
Contribution 3: Developers’ Effort
Matching
Unbalanced matchings
Developers modify files without interacting with them:
Changes not requiring much effort, e.g., propagation of
refactoring
Interactions are not collected when performing the task
F6F4
F5F3
F2
F1
F7
F3
F2
F1
F8
F7
F6
F5
F9
F2
F3
F1
F4
F8
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 35/40
Contribution 3: Developers’ Effort
Results
Effort vs. complexity of the changes
1028 matchings and 217 unbalanced matchings
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 36/40
Contribution 3: Developers’ Effort
Results
Effort vs. complexity of the changes
1028 matchings and 217 unbalanced matchings
Developers do not necessary spend more effort on tasks
requiring more complex changes
Time (sec.)
Cyclomatic Complexity
Cyclomatic Complexity
Time (sec.)
Entropy
Entropy
Change distance
Change distance
0.16
0.27
0.31
0.33
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 36/40
Contribution 3: Developers’ Effort
Additional Files
Additional Files
Exploring files that should not be modified
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 37/40
Contribution 3: Developers’ Effort
Additional Files
Additional Files
Exploring files that should not be modified
Significantly relevant files vs. additional (useful and
accidental) files
F4
F1
F2
F5
F6
F3
F7
F9F8
62% 38%
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 37/40
Contribution 3: Developers’ Effort
Additional Files
Additional Files
Exploring files that should not be modified
Significantly relevant files vs. additional (useful and
accidental) files
Effort vs. number of additional files: 0.63 (time) and 0.82
(cyclomatic complexity)
F4
F1
F2
F5
F6
F3
F7
F9F8
62% 38%
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 37/40
Contribution 3: Developers’ Effort
Conclusion
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
No validation
of the
impact of
inacurate ITs
on previous
studies
No empirical
evidence if
complex
change
required
more effort
- Method to (in)validate
assumptions
- Cleaning approaches
- Do not make these
assumptions anymore
- Use our approach to
clean ITs
- Improve
recommendation
systems
- Noises bias the
results of previous
studies
- Improve
knowledge
- Do not use surrogate
effort with the result
- New feature location
methods and tools
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 38/40
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 39/40
Perfect
equality
0 1
Maximum
inequality
RE
UE RE
Use F-Measure to maximize both precision and recall
0.4
Conclusion
We can collect and use accurate interaction traces to assess
developers’ effort, understand how developers’ spent their effort,
and assess their program exploration strategies during
maintenance and evolution activities.
No investigation of
the quality of ITs
No validation
of the
impact of
inacurate ITs
on previous
studies
No empirical
evidence if
complex
change
required
more effort
No systematic
identification
of exploration
strategies
- Method to (in)validate
assumptions
- Cleaning approaches
- Do not make these
assumptions anymore
- Use our approach to
clean ITs
- Improve
recommendation
systems
- Noises bias the
results of previous
studies
- Improve
knowledge
- Do not use surrogate
effort with the result
- New feature location
methods and tools
- Improve
knowledge
- Good strategy
- Use strategy to
guide developers
Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 40/40

More Related Content

Similar to Thesis+of+zéphyrin+soh.ppt

Situated Evaluation tony coloma
Situated Evaluation tony colomaSituated Evaluation tony coloma
Situated Evaluation tony colomaTony Coloma
 
Professional Services Project Delivery Methodology
Professional Services Project Delivery MethodologyProfessional Services Project Delivery Methodology
Professional Services Project Delivery MethodologyAmbareesh Kulkarni
 
Scaling Software Delivery.pdf
Scaling Software Delivery.pdfScaling Software Delivery.pdf
Scaling Software Delivery.pdfTiffany Jachja
 
Monitoring and Evaluation Open Discussion
Monitoring and Evaluation Open DiscussionMonitoring and Evaluation Open Discussion
Monitoring and Evaluation Open DiscussionCIAT
 
Logic Model fine points
Logic Model fine pointsLogic Model fine points
Logic Model fine pointsGuy Hayes
 
The Total Economic Impact of Using ThoughtWorks' Agile Development Approach
The Total Economic Impact of Using ThoughtWorks' Agile Development ApproachThe Total Economic Impact of Using ThoughtWorks' Agile Development Approach
The Total Economic Impact of Using ThoughtWorks' Agile Development ApproachThoughtworks
 
Optimize Project Intake Approval and Prioritization
Optimize Project Intake Approval and PrioritizationOptimize Project Intake Approval and Prioritization
Optimize Project Intake Approval and PrioritizationInfo-Tech Research Group
 
Free video lecture bca
Free video lecture bcaFree video lecture bca
Free video lecture bcaEdhole.com
 
The Total Economic Impact of Using ThoughtWorks' Agile Development Approach
The Total Economic Impact of Using ThoughtWorks' Agile Development ApproachThe Total Economic Impact of Using ThoughtWorks' Agile Development Approach
The Total Economic Impact of Using ThoughtWorks' Agile Development ApproachThoughtworks
 
Utilization focused evaluation: an introduction (Part 1 - ROER4D)
Utilization focused evaluation: an introduction (Part 1 - ROER4D) Utilization focused evaluation: an introduction (Part 1 - ROER4D)
Utilization focused evaluation: an introduction (Part 1 - ROER4D) SarahG_SS
 
UFE step-by-step: an introduction
UFE step-by-step: an introductionUFE step-by-step: an introduction
UFE step-by-step: an introductionROER4D
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Peter Marshall
 
Usability Testing: Understanding End-Users through Observation
Usability Testing: Understanding End-Users through ObservationUsability Testing: Understanding End-Users through Observation
Usability Testing: Understanding End-Users through ObservationFrank Garofalo
 
Pm assignment -5111570030
Pm assignment -5111570030Pm assignment -5111570030
Pm assignment -5111570030adzoyi
 
Chapter 7 - Evaluation Tekhnique
Chapter 7 - Evaluation TekhniqueChapter 7 - Evaluation Tekhnique
Chapter 7 - Evaluation TekhniqueMuhammad Najib
 
UX and Usability Workshop Southampton Solent University
UX and Usability Workshop Southampton Solent University UX and Usability Workshop Southampton Solent University
UX and Usability Workshop Southampton Solent University Dr.Mohammed Alhusban
 
A Method for Evaluating End-User Development Technologies
A Method for Evaluating End-User Development TechnologiesA Method for Evaluating End-User Development Technologies
A Method for Evaluating End-User Development TechnologiesClaudia Melo
 

Similar to Thesis+of+zéphyrin+soh.ppt (20)

Situated Evaluation tony coloma
Situated Evaluation tony colomaSituated Evaluation tony coloma
Situated Evaluation tony coloma
 
Professional Services Project Delivery Methodology
Professional Services Project Delivery MethodologyProfessional Services Project Delivery Methodology
Professional Services Project Delivery Methodology
 
Scaling Software Delivery.pdf
Scaling Software Delivery.pdfScaling Software Delivery.pdf
Scaling Software Delivery.pdf
 
Monitoring and Evaluation Open Discussion
Monitoring and Evaluation Open DiscussionMonitoring and Evaluation Open Discussion
Monitoring and Evaluation Open Discussion
 
Logic Model fine points
Logic Model fine pointsLogic Model fine points
Logic Model fine points
 
Adoptability 2011
Adoptability 2011Adoptability 2011
Adoptability 2011
 
The Total Economic Impact of Using ThoughtWorks' Agile Development Approach
The Total Economic Impact of Using ThoughtWorks' Agile Development ApproachThe Total Economic Impact of Using ThoughtWorks' Agile Development Approach
The Total Economic Impact of Using ThoughtWorks' Agile Development Approach
 
Optimize Project Intake Approval and Prioritization
Optimize Project Intake Approval and PrioritizationOptimize Project Intake Approval and Prioritization
Optimize Project Intake Approval and Prioritization
 
Free video lecture bca
Free video lecture bcaFree video lecture bca
Free video lecture bca
 
The Total Economic Impact of Using ThoughtWorks' Agile Development Approach
The Total Economic Impact of Using ThoughtWorks' Agile Development ApproachThe Total Economic Impact of Using ThoughtWorks' Agile Development Approach
The Total Economic Impact of Using ThoughtWorks' Agile Development Approach
 
Utilization focused evaluation: an introduction (Part 1 - ROER4D)
Utilization focused evaluation: an introduction (Part 1 - ROER4D) Utilization focused evaluation: an introduction (Part 1 - ROER4D)
Utilization focused evaluation: an introduction (Part 1 - ROER4D)
 
UFE step-by-step: an introduction
UFE step-by-step: an introductionUFE step-by-step: an introduction
UFE step-by-step: an introduction
 
Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"Slides from "Taking an Holistic Approach to Product Quality"
Slides from "Taking an Holistic Approach to Product Quality"
 
Monitoring and Evaluation
Monitoring and EvaluationMonitoring and Evaluation
Monitoring and Evaluation
 
Usability Testing: Understanding End-Users through Observation
Usability Testing: Understanding End-Users through ObservationUsability Testing: Understanding End-Users through Observation
Usability Testing: Understanding End-Users through Observation
 
What is agile?
What is agile?What is agile?
What is agile?
 
Pm assignment -5111570030
Pm assignment -5111570030Pm assignment -5111570030
Pm assignment -5111570030
 
Chapter 7 - Evaluation Tekhnique
Chapter 7 - Evaluation TekhniqueChapter 7 - Evaluation Tekhnique
Chapter 7 - Evaluation Tekhnique
 
UX and Usability Workshop Southampton Solent University
UX and Usability Workshop Southampton Solent University UX and Usability Workshop Southampton Solent University
UX and Usability Workshop Southampton Solent University
 
A Method for Evaluating End-User Development Technologies
A Method for Evaluating End-User Development TechnologiesA Method for Evaluating End-User Development Technologies
A Method for Evaluating End-User Development Technologies
 

More from Ptidej Team

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software MiniaturisationPtidej Team
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel BriandPtidej Team
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel AbdellatifPtidej Team
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh KermansaraviPtidej Team
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel GrichiPtidej Team
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano PolitowskiPtidej Team
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisisPtidej Team
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptPtidej Team
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptPtidej Team
 

More from Ptidej Team (20)

From IoT to Software Miniaturisation
From IoT to Software MiniaturisationFrom IoT to Software Miniaturisation
From IoT to Software Miniaturisation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation
PresentationPresentation
Presentation
 
Presentation by Lionel Briand
Presentation by Lionel BriandPresentation by Lionel Briand
Presentation by Lionel Briand
 
Manel Abdellatif
Manel AbdellatifManel Abdellatif
Manel Abdellatif
 
Azadeh Kermansaravi
Azadeh KermansaraviAzadeh Kermansaravi
Azadeh Kermansaravi
 
Mouna Abidi
Mouna AbidiMouna Abidi
Mouna Abidi
 
CSED - Manel Grichi
CSED - Manel GrichiCSED - Manel Grichi
CSED - Manel Grichi
 
Cristiano Politowski
Cristiano PolitowskiCristiano Politowski
Cristiano Politowski
 
Will io t trigger the next software crisis
Will io t trigger the next software crisisWill io t trigger the next software crisis
Will io t trigger the next software crisis
 
MIPA
MIPAMIPA
MIPA
 
Thesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.pptThesis+of+laleh+eshkevari.ppt
Thesis+of+laleh+eshkevari.ppt
 
Thesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.pptThesis+of+nesrine+abdelkafi.ppt
Thesis+of+nesrine+abdelkafi.ppt
 
Medicine15.ppt
Medicine15.pptMedicine15.ppt
Medicine15.ppt
 
Qrs17b.ppt
Qrs17b.pptQrs17b.ppt
Qrs17b.ppt
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
Msr17a.ppt
Msr17a.pptMsr17a.ppt
Msr17a.ppt
 
Icsoc15.ppt
Icsoc15.pptIcsoc15.ppt
Icsoc15.ppt
 

Recently uploaded

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
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
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
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
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
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
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
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
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
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 ...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
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
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 

Thesis+of+zéphyrin+soh.ppt

  • 1. Ph.D. Defense Improving Program Comprehension and Recommendation Systems using Developers’ Context Z´ephyrin Soh Supervised by: Dr. Yann-Ga¨el Gu´eh´eneuc, Dr. Giuliano Antoniol, Dr. Foutse Khomh Polytechnique Montr´eal, Canada December 8, 2015 Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 1/40
  • 2. Outline 1 Context & Motivations 2 Problems & Thesis Statement 3 Contribution 1: Quality of ITs 4 Contribution 2: Recommendation Systems 5 Contribution 3: Developers’ Effort 6 Contribution 4: Program Exploration 7 Conclusion Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 2/40
  • 3. Context & Motivations Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 3/40
  • 4. Context & Motivations Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 3/40
  • 5. Context & Motivations Maintenance cost increases [1] *Source:http://cvmountain.com *Source:https://www.leaseweb.com 1981 1999 [1] Stephen R. Schach, Object-Oriented and Classical Software Engineering. Eighth Edition McGraw-Hill, New York, 2011, pp. 11 Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 4/40
  • 6. Context & Motivations Typical Scenario for maintenance using ITS and SCR Stakeholder (user/developer) Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40
  • 7. Context & Motivations Typical Scenario for maintenance using ITS and SCR Stakeholder (user/developer) ITS Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40 Maintenance task = change request (bug or enhancement)
  • 8. Context & Motivations Typical Scenario for maintenance using ITS and SCR Stakeholder (user/developer) ITS Triaging Paul Mary Sylvia Developers Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40
  • 9. Context & Motivations Typical Scenario for maintenance using ITS and SCR Workspace Stakeholder (user/developer) ITS Triaging Workspace (+Mylyn) Paul Mary Sylvia Developers Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40 Optionally use a monitoring tool to collect logs Mandatory in the policy of some projects
  • 10. Context & Motivations Typical Scenario for maintenance using ITS and SCR Workspace Stakeholder (user/developer) ITS Triaging Workspace (+Mylyn) Paul Mary Sylvia Developers Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40 Interaction traces or context: Acyivity logs collected when developers interacted with program entities through the IDE Patch: All the changes performed on the program
  • 11. Context & Motivations Typical Scenario for maintenance using ITS and SCR Workspace Stakeholder (user/developer) ITS Triaging Workspace (+Mylyn) Paul Mary Sylvia SCR Commiter/ reviewer Developers Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40 Task is resolved: “fixed/closed”
  • 12. Context & Motivations Typical Scenario for maintenance using ITS and SCR Workspace Stakeholder (user/developer) ITS Triaging Workspace (+Mylyn) Paul Mary Sylvia SCR Commiter reviewer Developers Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 5/40 The stakeholders involved in the development need help, in particular the one who is in charge of performing changes to resolve the task
  • 13. Context & Motivations Workspace (+Mylyn) Paul Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40
  • 14. Context & Motivations Workspace (+Mylyn) Paul Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40 Barry Boehm, Software engineering. IEEE Trans. Computers, 1976
  • 15. Context & Motivations Difficult Workspace (+Mylyn) Paul Expensive Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40 Ian Sommerville, Software engineering. Pearson, ninth edition, 2011
  • 16. Context & Motivations Difficult Workspace (+Mylyn) Paul Expensive Search Relate Collect Relevant information Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40 Ko , An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE TSE, 2006
  • 17. Context & Motivations Difficult Workspace (+Mylyn) Paul ~50% time Expensive Search Relate Collect Relevant information Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40 SWEBOK V3.0, Guide of Software Engineering Body of Knowledge. IEEE, 2014, pp. 5-4
  • 18. Context & Motivations Difficult Workspace (+Mylyn) Paul ~50% time Expensive Search Relate Collect Relevant information Program Exploration Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40
  • 19. Context & Motivations Difficult Workspace (+Mylyn) Paul ~50% time Expensive Search Relate Collect Relevant information Program Exploration Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 6/40 How developers explore program to find relevant information to change impacts their effort (and thus their productivity).
  • 20. Problems & Thesis Statement We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
  • 21. Problems & Thesis Statement We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
  • 22. Problems & Thesis Statement We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
  • 23. Problems & Thesis Statement We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
  • 24. Problems & Thesis Statement We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
  • 25. Problems & Thesis Statement We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs No validation of the impact of inacurate ITs on previous studies Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
  • 26. Problems & Thesis Statement We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs No validation of the impact of inacurate ITs on previous studies Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
  • 27. Problems & Thesis Statement We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs No validation of the impact of inacurate ITs on previous studies No empirical evidence if complex change required more effort Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
  • 28. Problems & Thesis Statement We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs No validation of the impact of inacurate ITs on previous studies No empirical evidence if complex change required more effort Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
  • 29. Problems & Thesis Statement We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs No validation of the impact of inacurate ITs on previous studies No empirical evidence if complex change required more effort No systematic identification of exploration strategies Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 7/40
  • 30. Contribution 1: Quality of ITs We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 8/40
  • 31. Contribution 1: Quality of ITs Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 8/40
  • 32. Contribution 1: Quality of ITs Motivations ITS Workspace (+Mylyn) Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 9/40 ITs are collected in real-work environment
  • 33. Contribution 1: Quality of ITs Motivations ITS Workspace (+Mylyn) Interlease activities Interruptions/Idle times Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 9/40 ITs are collected in real-work environment Activities
  • 34. Contribution 1: Quality of ITs Motivations ITS Workspace (+Mylyn) Interlease activities Interruptions/Idle times Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 9/40 ITs are collected in real-work environment Activities The time mined from ITs is the time spent by the developers performing the maintenance task.
  • 35. Contribution 1: Quality of ITs Motivations Kind = “edit” ⇒ change activity Edit with not null duration Intent = time spent in the editor is more productive Intent vs. actual use Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 10/40
  • 36. Contribution 1: Quality of ITs Experiment Are there noises in ITs? Can we clean noises in ITs? Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 11/40
  • 37. Contribution 1: Quality of ITs Experiment Experiment setting 15 participants Four systems 1 participant = 1 task Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 12/40
  • 38. Contribution 1: Quality of ITs Experiment Experiment setting 15 participants Four systems 1 participant = 1 task Collected data Mylyn Interaction Traces (RITs) Videos Video Transcription Video-based Interaction Traces (VITs) Workspace (+Mylyn) Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 12/40
  • 39. Contribution 1: Quality of ITs Time-related Noise e1 e2 e3 ot d2 it d3 Time d1 Global Time (GT) = endDate(e3) - startDate(e1) Accumulated Time (AT) = d1 + d2 + d3 Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 13/40
  • 40. Contribution 1: Quality of ITs Time-related Noise Global vs. Accumulated VITs: Same results (by definition) RITs: Different results Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 14/40
  • 41. Contribution 1: Quality of ITs Time-related Noise RITs vs. VITs RITs miss on average 6% of the time spent to perform the task. Difference due to overlaps between events Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 15/40
  • 42. Contribution 1: Quality of ITs Time-related Noise RITs e1 e2 e3 ot d2 it d3 Time d1 Average individual idle times ≈ 30 sec. Time (RITs) = AT - ot + d d = it if it < 30 sec. Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 16/40
  • 43. Contribution 1: Quality of ITs Edit-related Noise #edit events (duration = 0) VITs vs. RITs Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 17/40
  • 44. Contribution 1: Quality of ITs Edit-related Noise All edits are not real modification of the code ITs contain about 28% of false edit-events Feedback from Mylyn community “... the argument that there is noise in the edit events makes sense to me.” “The edit events dont have to be textual edits ...” Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 18/40
  • 45. Contribution 1: Quality of ITs Cleaning ITs Noises are prevalents in ITs Can we clean noises in ITs? Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 19/40
  • 46. Contribution 1: Quality of ITs Cleaning ITs Threshold-based approach Kind = « edit » No change Code change Time <= 24s Time > 24s Double click open Static navigation (F3) From search view others Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 20/40
  • 47. Contribution 1: Quality of ITs Cleaning ITs Threshold-based approach Kind = « edit » No change Code change Time <= 24s Time > 24s Double click open Static navigation (F3) From search view others CITs (Cleaned ITs) = RITs + cleaning rules False edit: P = 93%; R = 64% True edit: P = 18%; R = 81% Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 20/40
  • 48. Contribution 1: Quality of ITs Cleaning ITs Prediction-based approach NaiveBayes, J48, Random Forest Best:J48 with over sampling False edit: P = 98.5%; R = 90% True edit: P = 31.8%; R = 77.8% Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 21/40
  • 49. Contribution 1: Quality of ITs Conclusion We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs - Method to (in)validate assumptions - Cleaning approaches Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 22/40
  • 50. Contribution 1: Quality of ITs Conclusion We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs - Method to (in)validate assumptions - Cleaning approaches - Do not make these assumptions anymore - Use our approach to clean ITs Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 22/40
  • 51. Contribution 2: Recommendation Systems We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs No validation of the impact of inacurate ITs on previous studies Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 23/40
  • 52. Contribution 2: Recommendation Systems Impact of noises on previous studies Two studies [2,3] They made the investigated assumptions Data and code/scripts available [2] Ying and Robillard, The influence of the task on programmer bahaviour. ICPC 2011 [3] Lee at al., The impact of view histories on edit recommendations. TSE 2015 Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 24/40
  • 53. Contribution 2: Recommendation Systems Editing Styles Overview 0 10.5 e1 e2 e = first half if +50% time(e) in first half Fraction(e = first) 0 to 19% = edit-last 87 to 100% = edit-first Otherwise = edit-throughout Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 25/40
  • 54. Contribution 2: Recommendation Systems Editing Styles Approach VITs (oracle), RITs, CITs Evaluation Precision & recall RITs Editing style VITs Editing style CITs Editing style Evaluation Evaluation Impact of noise Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 26/40
  • 55. Contribution 2: Recommendation Systems Editing Styles Results Experiment dataset Edit-first: → Edit-last: Recall CITs 22% Edit-throughout: Precision CITs 4% On average prediction-based Precision CITs 14% and Recall CITS 7% Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 27/40
  • 56. Contribution 2: Recommendation Systems Editing Styles Results Experiment dataset Edit-first: → Edit-last: Recall CITs 22% Edit-throughout: Precision CITs 4% On average prediction-based Precision CITs 14% and Recall CITS 7% Bugzilla data set 1 970 ITs for 4 systems 66%-41% same categorisation 34%-59% different categorisation Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 27/40
  • 57. Contribution 2: Recommendation Systems Recommendation Systems Same dataset Same source code Precision 41% (Threshold-based) Recall 57% (Prediction-based) Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 28/40
  • 58. Contribution 2: Recommendation Systems Conclusion We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs No validation of the impact of inacurate ITs on previous studies - Method to (in)validate assumptions - Cleaning approaches - Do not make these assumptions anymore - Use our approach to clean ITs - Improve recommendation systems Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 29/40
  • 59. Contribution 2: Recommendation Systems Conclusion We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs No validation of the impact of inacurate ITs on previous studies - Method to (in)validate assumptions - Cleaning approaches - Do not make these assumptions anymore - Use our approach to clean ITs - Improve recommendation systems - Noises bias the results of previous studies Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 29/40
  • 60. Contribution 3: Developers’ Effort We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs No validation of the impact of inacurate ITs on previous studies No empirical evidence if complex change required more effort Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 30/40
  • 61. Contribution 3: Developers’ Effort Eclipse bug #188083 Patch #74156 File: 2 LOC : 26 + 18 LOC - 8 LOC Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 31/40
  • 62. Contribution 3: Developers’ Effort Eclipse bug #134884 Patch #94002 File: 2 LOC : 20 + 19 LOC - 1 LOC Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 31/40
  • 63. Contribution 3: Developers’ Effort Complexity of the Changes Which change is more complex? vs. Eclipse bug #134884 Patch #94002 File: 2 LOC : 20 + 19 LOC - 1 LOC Eclipse bug #188083 Patch #74156 File: 2 LOC : 26 + 18 LOC - 8 LOC Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 31/40
  • 64. Contribution 3: Developers’ Effort 1 How to estimate the effort spend to provide a patch? 2 Does a complex patch need more effort? Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 32/40
  • 65. Contribution 3: Developers’ Effort Metrics Developers’ effort Time Spend: Total duration spent on all files and their contents Cyclomatic complexity: Cyclomatic complexity of the exploration graph Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 33/40
  • 66. Contribution 3: Developers’ Effort Metrics Developers’ effort Time Spend: Total duration spent on all files and their contents Cyclomatic complexity: Cyclomatic complexity of the exploration graph Complexity of the changes Entropy: How much the changes are scattered between files [1] Change distance: How much difference between the source code before the changes and source code after. [1] A. E. Hassan, Predicting faults using the complexity of code changes, ICSE 2009 Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 33/40
  • 67. Contribution 3: Developers’ Effort Matching How do we match interactions and patches? 2,408 Interactions histories 3,395 Patches ? Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 34/40
  • 68. Contribution 3: Developers’ Effort Matching How do we match interactions and patches? 2,408 Interactions histories 3,395 Patches ? Assumption: An interaction is matched to a patch (i.e., the patch is the result of the corresponding interaction) if and only if both are attached to the same bug report, by the same developer at the same date (date/hour/minutes). Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 34/40
  • 69. Contribution 3: Developers’ Effort Matching Unbalanced matchings Developers modify files without interacting with them: Changes not requiring much effort, e.g., propagation of refactoring Interactions are not collected when performing the task Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 35/40
  • 70. Contribution 3: Developers’ Effort Matching Unbalanced matchings Developers modify files without interacting with them: Changes not requiring much effort, e.g., propagation of refactoring Interactions are not collected when performing the task Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 35/40
  • 71. Contribution 3: Developers’ Effort Matching Unbalanced matchings Developers modify files without interacting with them: Changes not requiring much effort, e.g., propagation of refactoring Interactions are not collected when performing the task F6F4 F5F3 F2 F1 F7 F3 F2 F1 F8 Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 35/40
  • 72. Contribution 3: Developers’ Effort Matching Unbalanced matchings Developers modify files without interacting with them: Changes not requiring much effort, e.g., propagation of refactoring Interactions are not collected when performing the task F6F4 F5F3 F2 F1 F7 F3 F2 F1 F8 F7 F6 F5 F9 F2 F3 F1 F4 F8 Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 35/40
  • 73. Contribution 3: Developers’ Effort Matching Unbalanced matchings Developers modify files without interacting with them: Changes not requiring much effort, e.g., propagation of refactoring Interactions are not collected when performing the task F6F4 F5F3 F2 F1 F7 F3 F2 F1 F8 F7 F6 F5 F9 F2 F3 F1 F4 F8 Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 35/40
  • 74. Contribution 3: Developers’ Effort Results Effort vs. complexity of the changes 1028 matchings and 217 unbalanced matchings Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 36/40
  • 75. Contribution 3: Developers’ Effort Results Effort vs. complexity of the changes 1028 matchings and 217 unbalanced matchings Developers do not necessary spend more effort on tasks requiring more complex changes Time (sec.) Cyclomatic Complexity Cyclomatic Complexity Time (sec.) Entropy Entropy Change distance Change distance 0.16 0.27 0.31 0.33 Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 36/40
  • 76. Contribution 3: Developers’ Effort Additional Files Additional Files Exploring files that should not be modified Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 37/40
  • 77. Contribution 3: Developers’ Effort Additional Files Additional Files Exploring files that should not be modified Significantly relevant files vs. additional (useful and accidental) files F4 F1 F2 F5 F6 F3 F7 F9F8 62% 38% Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 37/40
  • 78. Contribution 3: Developers’ Effort Additional Files Additional Files Exploring files that should not be modified Significantly relevant files vs. additional (useful and accidental) files Effort vs. number of additional files: 0.63 (time) and 0.82 (cyclomatic complexity) F4 F1 F2 F5 F6 F3 F7 F9F8 62% 38% Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 37/40
  • 79. Contribution 3: Developers’ Effort Conclusion We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs No validation of the impact of inacurate ITs on previous studies No empirical evidence if complex change required more effort - Method to (in)validate assumptions - Cleaning approaches - Do not make these assumptions anymore - Use our approach to clean ITs - Improve recommendation systems - Noises bias the results of previous studies - Improve knowledge - Do not use surrogate effort with the result - New feature location methods and tools Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 38/40
  • 80. Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 39/40 Perfect equality 0 1 Maximum inequality RE UE RE Use F-Measure to maximize both precision and recall 0.4
  • 81. Conclusion We can collect and use accurate interaction traces to assess developers’ effort, understand how developers’ spent their effort, and assess their program exploration strategies during maintenance and evolution activities. No investigation of the quality of ITs No validation of the impact of inacurate ITs on previous studies No empirical evidence if complex change required more effort No systematic identification of exploration strategies - Method to (in)validate assumptions - Cleaning approaches - Do not make these assumptions anymore - Use our approach to clean ITs - Improve recommendation systems - Noises bias the results of previous studies - Improve knowledge - Do not use surrogate effort with the result - New feature location methods and tools - Improve knowledge - Good strategy - Use strategy to guide developers Z´ephyrin Soh (Polytechnique Montr´eal) Context to improve comprehension and recommendation 40/40