SlideShare a Scribd company logo
1 of 25
Supporting Software Evolution Using
Adaptive Change Propagation Heuristics
Haroon Malik
Ahmed E. Hassan
School of Computing, Queen’s University, Canada
1
What is Change Propagation
It is the process of propagating code
changes to other entities in software
system.
It ensures the consistency of assumptions
in the system after changing an entity.
Mis-propagating likely to introduce bugs
2
The Change Propagation
Process
3
Determine
Initial Entity
To Change
Change
Entity
Determine
Other Entities
To Change
Consult
Guru for
Advice
New Req., Bug Fix
“How does a change in one source code entity propagate to other
entities?”
No More
Changes
For Each Entity
Suggested Entity
Consider change set with A, B and C
changing together
4
A
B
C
Consider change set with A, B and C
changing together
5
A
B
C
B
C
A
D
E
D
HIST
Heuristic
CUD Heuristic
(Static dependency)
HELPFUL Wasted Developer time
Consider change set with A, B and C
changing together
6
A
B
C
B
C
A
D
E
D
HIST
Heuristic
CUD Heuristic
(Static dependency)
HELPFUL Wasted Developer time
 Which heuristics
should we pick ?
 We should track
the performance of
pool of heuristics
over time for each
entity
Consider change set with A, B and C
changing together
7
A
B
C
B
C
A
D
D
D
HIST
Heuristic
CUD Heuristic
(Static dependency)
HELPFUL Wasted Developer time
 Best Heuristic table
(BHT)
 Tracks and updates
Consider change set with A, B and C
changing together
8
A
B
C
B
C
A
D
D
D
HIST
Heuristic
CUD Heuristic
(Static dependency)
A
E
D
Time
 HIST or CUD?
 BHT says HIST always work
well with A [A-Freq].
 We use HIST
 BHT might also say HIST
worked well with A, last time
[A-REC]
Consider change set with A, B and D
changing together
9
E
D
A
Consider change set with A, B and D
changing together
10
E
D
A
B
Consider change set with A, B and D
changing together
11
E
D
A
B
X
Y
Precision= 1/5= 20%
Recall = 1/1= 100%
We want high Precision & high
Recall
Change Propagation Challenge
Mostly manual & time consuming process
Requires dependency on others
 knowledge of senior developers, who are usually too
busy to guide every change
 Experience of guru, who rarely exists in large projects
 Communication among different teams; itself is a
challenge in large projects
 Use of documentation & previous test suits which are
rarely up-todate
12
Shortcomings of Current
Practices
Explores single dimension
 HIST: Given a changed entity A, a HIST heuristic would suggest
all entities that changed often with A in the past.
 CUD: Given a modified entity A, a CUD heuristic returns all
entities that depend on A or that A depends on.
 FILE: Given a modified entity A, a file heuristic would return all
entities in the same file as A
Static heuristics
 Do not adjust over time nor,
 Adapt to particular changed entity
13
Proposed Approach
Adaptive co-change meta-heuristics:
Tracks best performing heuristics for each
entity in Best Heuristic table (BHT)
Updates Table as project evolves
14
BHT Update
BHT has best performing heuristics
A-Recency:
 For the last change of an entity
A-Frequency
 Over all changes of an entity
By continuously updating the BHT table, we ensure that we
are always using the most optimal heuristic for an entity
15
Empirical Study
Used change sets from 5 open source projects
with over 39 years of development:
PostgreSQL, FreeBSD, Gcluster and GCC
Recover change sets from source control
repositories (CVS)
Replayed the history to measure the
performance
16
Performance Measures of
Heuristics
Project
HIST CUD FILE A-Freq A-Rec
Rec Prec Rec Prec Rec Prec Rec Prec Rec Prec
Postgress 0.69 0.14 0.44 0.02 0.73 0.13 0.45 0.25 0.4 0.30
FreeBSD 0.70 0.12 0.40 0.02 0.76 0.11 0.41 0.27 0.41 0.30
GCluster 0.52 0.18 0.38 0.09 0.70 0.14 0.39 0.22 0.35 0.28
GCC 0.78 0.10 0.43 0.02 0.80 0.12 0.51 0.21 0.47 0.25
All 0.67 0.13 0.41 0.04 0.74 0.12 0.44 0.23 0.40 0.28
F-measure 0.23 0.06 0.21 0.30 0.33
Recall: Adaptive heuristics are similar to traditional heuristics
Precision: Adaptive heuristics out perform traditional heuristics
F-measure: Adaptive heuristics out perform traditional heuristics
(23% better than the best heuristic HIST)
17
Performance Characteristics of
Adaptive Heuristics
To better understand our Adaptive Heuristics we
examined their performance along three direction:
Performance Over Time
BHT Composition over Time
BHT suggestions vs. optimal suggestions
18
Performance Over Time
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
1993 1995 1997 1999 2001 2003 2005
Years
Precesion
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
1993 1995 1997 1999 2001 2003 2005
Years
Recall
HIST CUD File A-Freq A-Rec
For Precision:
 Adaptive heuristic outperforms traditional heuristics.
For Recall:
 Adaptive heuristics do not perform as well as other traditional heuristics.
 Overall A-Rec has lower recall as compared to A-Freq for all projects 19
BHT Composition over Time
0
5
10
15
20
25
30
35
40
45
50
55
60
0 500 1000 1500 2000 2500 3000 3500 4000
Day(s)
HBTcompostion(%)
HIST
FILE
CUD
0
5
10
15
20
25
30
35
40
45
50
55
0 500 1000 1500 2000 2500 3000 3500 4000
Day(s)
HBTcompostion(%)
HIST
FILE
CUD
A-Freq A-Rec
 BHT for Free BSD
 All projects show same trends
 At start History is not widely used
 As the projects evolves, HIST is most effective.
20
BHT Suggestion Vs. Optimal
 Since we are replaying of historical change set we can
compare Adaptive vs. Optimal heuristic
 Optimal heuristic always 100% suggests the best heuristic
 Suggestion: # of correctly suggested heuristics
76-85%
 Performance:
63% of optimal F-measure
HIST is 44% of optimal best performing basic heuristics
 37% room for improvement
21
Improving the Performance
Adaptive Heuristics
Improve HIST in hope to improve adaptive
heuristics by employing advance techniques
Two improved HIST [Hassan, Holt: 2005]
 RECN(M): given a changed entity E, RECN(M) suggests all
entities that changed with E in the past M months.
 FREQ(A): given a changed entity E, FREQ(A) suggests all
entities that changed with E at least twice in the past and
changed more that A% of the time with E.
22
Improved HIST heuristics
 Integrated RECN(4) and FREQ(60) into the heuristic pool
used by adaptive meta-heuristics
 Achieved 0.73 to 0.78 for Recall and 0.64 for Precision
 Nearly 30% increase in performance:
 A-FREQ is within 91% of the optimal heuristic
 A-REC is within 93% of the optimal heuristic
RECN(M) F-Measure FREQ(A) F-Measure
RECN(2) 0.39 FREQ(50) 0.39
RECN(4) 0.40 FREQ(60) 0.44
RECN(6) 0.34 FREQ(70) 0.42
RECN(8) 0.28 FREQ(80) 0.39
23
Findings
Adaptive heuristics can achieve:
 0.73 to 0.78 for Recall and
0.64% Precession
57% improvement over T. heuristics
Performance difference are statically
significant based on a paired Wilcoxon signed
rant test at 5% level of significant.
(Alpha=0.05)
24
Conclusion
25

More Related Content

What's hot

Animated Visualization of Software History Using Software Evolution Storyboards
Animated Visualization of Software History Using Software Evolution StoryboardsAnimated Visualization of Software History Using Software Evolution Storyboards
Animated Visualization of Software History Using Software Evolution StoryboardsSAIL_QU
 
Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...SAIL_QU
 
Icse 2011 ds_1
Icse 2011 ds_1Icse 2011 ds_1
Icse 2011 ds_1SAIL_QU
 
The changing role of a QA | QualiTest Group
The changing role of a QA | QualiTest GroupThe changing role of a QA | QualiTest Group
The changing role of a QA | QualiTest GroupQualitest
 
Test effort estimation
Test effort estimationTest effort estimation
Test effort estimationramesh kumar
 
Test effort estimation a reason behind successful testing
Test effort estimation   a reason behind successful testingTest effort estimation   a reason behind successful testing
Test effort estimation a reason behind successful testingIndium Software
 
Test Estimation using Test Case Point Analysis method
Test Estimation using Test Case Point Analysis methodTest Estimation using Test Case Point Analysis method
Test Estimation using Test Case Point Analysis methodKMS Technology
 
An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...SAIL_QU
 
The Business Case for Test Environment Management Services
The Business Case for Test Environment Management ServicesThe Business Case for Test Environment Management Services
The Business Case for Test Environment Management ServicesCognizant
 
Test Case Point Analysis
Test Case Point AnalysisTest Case Point Analysis
Test Case Point Analysisvuqn
 
Environment Delivery Management Services
Environment Delivery Management  ServicesEnvironment Delivery Management  Services
Environment Delivery Management Servicesdrummondrj
 
Effective Test Estimation
Effective Test EstimationEffective Test Estimation
Effective Test EstimationTechWell
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleSelvy Ariska
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleAlfa Rizki Harahap
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycleadeafsa
 
Human factors in software reliability engineering - Research Paper
Human factors in software reliability engineering - Research PaperHuman factors in software reliability engineering - Research Paper
Human factors in software reliability engineering - Research PaperMuhammad Ahmad Zia
 
Cost Based Performance Modelling
Cost Based Performance ModellingCost Based Performance Modelling
Cost Based Performance ModellingEugene Margulis
 

What's hot (20)

Animated Visualization of Software History Using Software Evolution Storyboards
Animated Visualization of Software History Using Software Evolution StoryboardsAnimated Visualization of Software History Using Software Evolution Storyboards
Animated Visualization of Software History Using Software Evolution Storyboards
 
Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...Using Control Charts for Detecting and Understanding Performance Regressions ...
Using Control Charts for Detecting and Understanding Performance Regressions ...
 
Icse 2011 ds_1
Icse 2011 ds_1Icse 2011 ds_1
Icse 2011 ds_1
 
Sop test planning
Sop test planningSop test planning
Sop test planning
 
The changing role of a QA | QualiTest Group
The changing role of a QA | QualiTest GroupThe changing role of a QA | QualiTest Group
The changing role of a QA | QualiTest Group
 
Test effort estimation
Test effort estimationTest effort estimation
Test effort estimation
 
Test effort estimation a reason behind successful testing
Test effort estimation   a reason behind successful testingTest effort estimation   a reason behind successful testing
Test effort estimation a reason behind successful testing
 
Test Estimation using Test Case Point Analysis method
Test Estimation using Test Case Point Analysis methodTest Estimation using Test Case Point Analysis method
Test Estimation using Test Case Point Analysis method
 
An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...An Industrial Case Study of Automatically Identifying Performance Regression-...
An Industrial Case Study of Automatically Identifying Performance Regression-...
 
The Business Case for Test Environment Management Services
The Business Case for Test Environment Management ServicesThe Business Case for Test Environment Management Services
The Business Case for Test Environment Management Services
 
Test Case Point Analysis
Test Case Point AnalysisTest Case Point Analysis
Test Case Point Analysis
 
Environment Delivery Management Services
Environment Delivery Management  ServicesEnvironment Delivery Management  Services
Environment Delivery Management Services
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Effective Test Estimation
Effective Test EstimationEffective Test Estimation
Effective Test Estimation
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
MTV15
MTV15MTV15
MTV15
 
Human factors in software reliability engineering - Research Paper
Human factors in software reliability engineering - Research PaperHuman factors in software reliability engineering - Research Paper
Human factors in software reliability engineering - Research Paper
 
Cost Based Performance Modelling
Cost Based Performance ModellingCost Based Performance Modelling
Cost Based Performance Modelling
 

Viewers also liked

Proyecto de sociologia
Proyecto de sociologiaProyecto de sociologia
Proyecto de sociologiaruth Apellidos
 
Medios publicitarios
Medios publicitarios Medios publicitarios
Medios publicitarios Giarline
 
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...Senadores PRD
 
Case History Carlo Cairoli
Case History Carlo CairoliCase History Carlo Cairoli
Case History Carlo CairoliCarlo Cairoli
 
Large-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile AppsLarge-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile AppsSAIL_QU
 
Sustainability Day Leeds 2017
Sustainability Day Leeds 2017Sustainability Day Leeds 2017
Sustainability Day Leeds 20174 All of Us
 
C de marchi_tirocinio
C de marchi_tirocinioC de marchi_tirocinio
C de marchi_tirocinioCladema
 
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...成 金
 
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015Singapore startup ecosystem and entrepreneur toolbox - Aug 2015
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015Arnaud Bonzom
 
Claudia de marchi1-1
Claudia de marchi1-1Claudia de marchi1-1
Claudia de marchi1-1Cladema
 

Viewers also liked (12)

Proyecto de sociologia
Proyecto de sociologiaProyecto de sociologia
Proyecto de sociologia
 
Medios publicitarios
Medios publicitarios Medios publicitarios
Medios publicitarios
 
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...
Iniciativa del Senador Luis Humberto Fernández sobre coaliciones entre indepe...
 
Case History Carlo Cairoli
Case History Carlo CairoliCase History Carlo Cairoli
Case History Carlo Cairoli
 
Large-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile AppsLarge-Scale Empirical Studies of Mobile Apps
Large-Scale Empirical Studies of Mobile Apps
 
Sustainability Day Leeds 2017
Sustainability Day Leeds 2017Sustainability Day Leeds 2017
Sustainability Day Leeds 2017
 
C de marchi_tirocinio
C de marchi_tirocinioC de marchi_tirocinio
C de marchi_tirocinio
 
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...
비아그라 판매 =<7cc.kr>=비아그라 정품 판매~비아그라판매±비아그라 정품판매∏비아그라 50mg판매,프릴리지 50mg판매,흥분제 ...
 
Importance of Eye Contact in Hospitality
Importance of Eye Contact in HospitalityImportance of Eye Contact in Hospitality
Importance of Eye Contact in Hospitality
 
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015Singapore startup ecosystem and entrepreneur toolbox - Aug 2015
Singapore startup ecosystem and entrepreneur toolbox - Aug 2015
 
Claudia de marchi1-1
Claudia de marchi1-1Claudia de marchi1-1
Claudia de marchi1-1
 
Retrato do Brasil 2015
Retrato do Brasil 2015Retrato do Brasil 2015
Retrato do Brasil 2015
 

Similar to Adaptive Change Propagation Using Heuristics

Semantical Cognitive Scheduling
Semantical Cognitive SchedulingSemantical Cognitive Scheduling
Semantical Cognitive Schedulingigalshilman
 
22 deployment and_mobility
22 deployment and_mobility22 deployment and_mobility
22 deployment and_mobilityMajong DevJfu
 
20100522 software verification_sharygina_lecture02
20100522 software verification_sharygina_lecture0220100522 software verification_sharygina_lecture02
20100522 software verification_sharygina_lecture02Computer Science Club
 
A report on designing a model for improving CPU Scheduling by using Machine L...
A report on designing a model for improving CPU Scheduling by using Machine L...A report on designing a model for improving CPU Scheduling by using Machine L...
A report on designing a model for improving CPU Scheduling by using Machine L...MuskanRath1
 
Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)Kim Herzig
 
White Paper: Continuous Change-Driven Build Verification
White Paper: Continuous Change-Driven Build VerificationWhite Paper: Continuous Change-Driven Build Verification
White Paper: Continuous Change-Driven Build VerificationPerforce
 
Machine learning and reinforcement learning
Machine learning and reinforcement learningMachine learning and reinforcement learning
Machine learning and reinforcement learningjenil desai
 
Particle swarm optimization
Particle swarm optimizationParticle swarm optimization
Particle swarm optimizationanurag singh
 
Impact of Tool Support in Patch Construction
Impact of Tool Support in Patch ConstructionImpact of Tool Support in Patch Construction
Impact of Tool Support in Patch ConstructionDongsun Kim
 
Secrets of Value Stream Mapping for Future State
Secrets of Value Stream Mapping for Future StateSecrets of Value Stream Mapping for Future State
Secrets of Value Stream Mapping for Future StateDevOps.com
 
Populating a Release History Database (ICSM 2013 MIP)
Populating a Release History Database (ICSM 2013 MIP)Populating a Release History Database (ICSM 2013 MIP)
Populating a Release History Database (ICSM 2013 MIP)Martin Pinzger
 
Systems Migration
Systems MigrationSystems Migration
Systems Migrationrichchihlee
 
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021Chris Ohk
 
Analyzing Changes in Software Systems From ChangeDistiller to FMDiff
Analyzing Changes in Software Systems From ChangeDistiller to FMDiffAnalyzing Changes in Software Systems From ChangeDistiller to FMDiff
Analyzing Changes in Software Systems From ChangeDistiller to FMDiffMartin Pinzger
 
Industrial plant optimization in reduced dimensional spaces
Industrial plant optimization in reduced dimensional spacesIndustrial plant optimization in reduced dimensional spaces
Industrial plant optimization in reduced dimensional spacesCapstone
 
Introduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptxIntroduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptxaasssss1
 

Similar to Adaptive Change Propagation Using Heuristics (20)

Semantical Cognitive Scheduling
Semantical Cognitive SchedulingSemantical Cognitive Scheduling
Semantical Cognitive Scheduling
 
22 deployment and_mobility
22 deployment and_mobility22 deployment and_mobility
22 deployment and_mobility
 
20100522 software verification_sharygina_lecture02
20100522 software verification_sharygina_lecture0220100522 software verification_sharygina_lecture02
20100522 software verification_sharygina_lecture02
 
Foofah sigmod 2017 poster
Foofah sigmod 2017 posterFoofah sigmod 2017 poster
Foofah sigmod 2017 poster
 
A report on designing a model for improving CPU Scheduling by using Machine L...
A report on designing a model for improving CPU Scheduling by using Machine L...A report on designing a model for improving CPU Scheduling by using Machine L...
A report on designing a model for improving CPU Scheduling by using Machine L...
 
Scheduling And Htn
Scheduling And HtnScheduling And Htn
Scheduling And Htn
 
Continuous Delivery in the Enterprise
Continuous Delivery in the EnterpriseContinuous Delivery in the Enterprise
Continuous Delivery in the Enterprise
 
Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)Mining and Untangling Change Genealogies (PhD Defense Talk)
Mining and Untangling Change Genealogies (PhD Defense Talk)
 
White Paper: Continuous Change-Driven Build Verification
White Paper: Continuous Change-Driven Build VerificationWhite Paper: Continuous Change-Driven Build Verification
White Paper: Continuous Change-Driven Build Verification
 
Machine learning and reinforcement learning
Machine learning and reinforcement learningMachine learning and reinforcement learning
Machine learning and reinforcement learning
 
Particle swarm optimization
Particle swarm optimizationParticle swarm optimization
Particle swarm optimization
 
Impact of Tool Support in Patch Construction
Impact of Tool Support in Patch ConstructionImpact of Tool Support in Patch Construction
Impact of Tool Support in Patch Construction
 
DevOps.pptx
DevOps.pptxDevOps.pptx
DevOps.pptx
 
Secrets of Value Stream Mapping for Future State
Secrets of Value Stream Mapping for Future StateSecrets of Value Stream Mapping for Future State
Secrets of Value Stream Mapping for Future State
 
Populating a Release History Database (ICSM 2013 MIP)
Populating a Release History Database (ICSM 2013 MIP)Populating a Release History Database (ICSM 2013 MIP)
Populating a Release History Database (ICSM 2013 MIP)
 
Systems Migration
Systems MigrationSystems Migration
Systems Migration
 
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
Evolving Reinforcement Learning Algorithms, JD. Co-Reyes et al, 2021
 
Analyzing Changes in Software Systems From ChangeDistiller to FMDiff
Analyzing Changes in Software Systems From ChangeDistiller to FMDiffAnalyzing Changes in Software Systems From ChangeDistiller to FMDiff
Analyzing Changes in Software Systems From ChangeDistiller to FMDiff
 
Industrial plant optimization in reduced dimensional spaces
Industrial plant optimization in reduced dimensional spacesIndustrial plant optimization in reduced dimensional spaces
Industrial plant optimization in reduced dimensional spaces
 
Introduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptxIntroduction to DevOps slides-converted (1).pptx
Introduction to DevOps slides-converted (1).pptx
 

More from SAIL_QU

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsSAIL_QU
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...SAIL_QU
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...SAIL_QU
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...SAIL_QU
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...SAIL_QU
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...SAIL_QU
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?SAIL_QU
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesSAIL_QU
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesSAIL_QU
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...SAIL_QU
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...SAIL_QU
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...SAIL_QU
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...SAIL_QU
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?SAIL_QU
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...SAIL_QU
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...SAIL_QU
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsSAIL_QU
 

More from SAIL_QU (20)

Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...Studying the Integration Practices and the Evolution of Ad Libraries in the G...
Studying the Integration Practices and the Evolution of Ad Libraries in the G...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
Improving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load testsImproving the testing efficiency of selenium-based load tests
Improving the testing efficiency of selenium-based load tests
 
Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...Studying User-Developer Interactions Through the Distribution and Reviewing M...
Studying User-Developer Interactions Through the Distribution and Reviewing M...
 
Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...Studying online distribution platforms for games through the mining of data f...
Studying online distribution platforms for games through the mining of data f...
 
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...
 
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...
 
Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...Mining Development Knowledge to Understand and Support Software Logging Pract...
Mining Development Knowledge to Understand and Support Software Logging Pract...
 
Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?Which Log Level Should Developers Choose For a New Logging Statement?
Which Log Level Should Developers Choose For a New Logging Statement?
 
Towards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log ChangesTowards Just-in-Time Suggestions for Log Changes
Towards Just-in-Time Suggestions for Log Changes
 
The Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution AnalysesThe Impact of Task Granularity on Co-evolution Analyses
The Impact of Task Granularity on Co-evolution Analyses
 
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
A Framework for Evaluating the Results of the SZZ Approach for Identifying Bu...
 
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...
 
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...
 
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...
 
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...Studying the Dialogue Between Users and Developers of Free Apps in the Google...
Studying the Dialogue Between Users and Developers of Free Apps in the Google...
 
What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?What Do Programmers Know about Software Energy Consumption?
What Do Programmers Know about Software Energy Consumption?
 
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
Threshold for Size and Complexity Metrics: A Case Study from the Perspective ...
 
Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...Revisiting the Experimental Design Choices for Approaches for the Automated R...
Revisiting the Experimental Design Choices for Approaches for the Automated R...
 
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsMeasuring Program Comprehension: A Large-Scale Field Study with Professionals
Measuring Program Comprehension: A Large-Scale Field Study with Professionals
 

Recently uploaded

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
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
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
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...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

Adaptive Change Propagation Using Heuristics

  • 1. Supporting Software Evolution Using Adaptive Change Propagation Heuristics Haroon Malik Ahmed E. Hassan School of Computing, Queen’s University, Canada 1
  • 2. What is Change Propagation It is the process of propagating code changes to other entities in software system. It ensures the consistency of assumptions in the system after changing an entity. Mis-propagating likely to introduce bugs 2
  • 3. The Change Propagation Process 3 Determine Initial Entity To Change Change Entity Determine Other Entities To Change Consult Guru for Advice New Req., Bug Fix “How does a change in one source code entity propagate to other entities?” No More Changes For Each Entity Suggested Entity
  • 4. Consider change set with A, B and C changing together 4 A B C
  • 5. Consider change set with A, B and C changing together 5 A B C B C A D E D HIST Heuristic CUD Heuristic (Static dependency) HELPFUL Wasted Developer time
  • 6. Consider change set with A, B and C changing together 6 A B C B C A D E D HIST Heuristic CUD Heuristic (Static dependency) HELPFUL Wasted Developer time  Which heuristics should we pick ?  We should track the performance of pool of heuristics over time for each entity
  • 7. Consider change set with A, B and C changing together 7 A B C B C A D D D HIST Heuristic CUD Heuristic (Static dependency) HELPFUL Wasted Developer time  Best Heuristic table (BHT)  Tracks and updates
  • 8. Consider change set with A, B and C changing together 8 A B C B C A D D D HIST Heuristic CUD Heuristic (Static dependency) A E D Time  HIST or CUD?  BHT says HIST always work well with A [A-Freq].  We use HIST  BHT might also say HIST worked well with A, last time [A-REC]
  • 9. Consider change set with A, B and D changing together 9 E D A
  • 10. Consider change set with A, B and D changing together 10 E D A B
  • 11. Consider change set with A, B and D changing together 11 E D A B X Y Precision= 1/5= 20% Recall = 1/1= 100% We want high Precision & high Recall
  • 12. Change Propagation Challenge Mostly manual & time consuming process Requires dependency on others  knowledge of senior developers, who are usually too busy to guide every change  Experience of guru, who rarely exists in large projects  Communication among different teams; itself is a challenge in large projects  Use of documentation & previous test suits which are rarely up-todate 12
  • 13. Shortcomings of Current Practices Explores single dimension  HIST: Given a changed entity A, a HIST heuristic would suggest all entities that changed often with A in the past.  CUD: Given a modified entity A, a CUD heuristic returns all entities that depend on A or that A depends on.  FILE: Given a modified entity A, a file heuristic would return all entities in the same file as A Static heuristics  Do not adjust over time nor,  Adapt to particular changed entity 13
  • 14. Proposed Approach Adaptive co-change meta-heuristics: Tracks best performing heuristics for each entity in Best Heuristic table (BHT) Updates Table as project evolves 14
  • 15. BHT Update BHT has best performing heuristics A-Recency:  For the last change of an entity A-Frequency  Over all changes of an entity By continuously updating the BHT table, we ensure that we are always using the most optimal heuristic for an entity 15
  • 16. Empirical Study Used change sets from 5 open source projects with over 39 years of development: PostgreSQL, FreeBSD, Gcluster and GCC Recover change sets from source control repositories (CVS) Replayed the history to measure the performance 16
  • 17. Performance Measures of Heuristics Project HIST CUD FILE A-Freq A-Rec Rec Prec Rec Prec Rec Prec Rec Prec Rec Prec Postgress 0.69 0.14 0.44 0.02 0.73 0.13 0.45 0.25 0.4 0.30 FreeBSD 0.70 0.12 0.40 0.02 0.76 0.11 0.41 0.27 0.41 0.30 GCluster 0.52 0.18 0.38 0.09 0.70 0.14 0.39 0.22 0.35 0.28 GCC 0.78 0.10 0.43 0.02 0.80 0.12 0.51 0.21 0.47 0.25 All 0.67 0.13 0.41 0.04 0.74 0.12 0.44 0.23 0.40 0.28 F-measure 0.23 0.06 0.21 0.30 0.33 Recall: Adaptive heuristics are similar to traditional heuristics Precision: Adaptive heuristics out perform traditional heuristics F-measure: Adaptive heuristics out perform traditional heuristics (23% better than the best heuristic HIST) 17
  • 18. Performance Characteristics of Adaptive Heuristics To better understand our Adaptive Heuristics we examined their performance along three direction: Performance Over Time BHT Composition over Time BHT suggestions vs. optimal suggestions 18
  • 19. Performance Over Time 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 1993 1995 1997 1999 2001 2003 2005 Years Precesion 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 1993 1995 1997 1999 2001 2003 2005 Years Recall HIST CUD File A-Freq A-Rec For Precision:  Adaptive heuristic outperforms traditional heuristics. For Recall:  Adaptive heuristics do not perform as well as other traditional heuristics.  Overall A-Rec has lower recall as compared to A-Freq for all projects 19
  • 20. BHT Composition over Time 0 5 10 15 20 25 30 35 40 45 50 55 60 0 500 1000 1500 2000 2500 3000 3500 4000 Day(s) HBTcompostion(%) HIST FILE CUD 0 5 10 15 20 25 30 35 40 45 50 55 0 500 1000 1500 2000 2500 3000 3500 4000 Day(s) HBTcompostion(%) HIST FILE CUD A-Freq A-Rec  BHT for Free BSD  All projects show same trends  At start History is not widely used  As the projects evolves, HIST is most effective. 20
  • 21. BHT Suggestion Vs. Optimal  Since we are replaying of historical change set we can compare Adaptive vs. Optimal heuristic  Optimal heuristic always 100% suggests the best heuristic  Suggestion: # of correctly suggested heuristics 76-85%  Performance: 63% of optimal F-measure HIST is 44% of optimal best performing basic heuristics  37% room for improvement 21
  • 22. Improving the Performance Adaptive Heuristics Improve HIST in hope to improve adaptive heuristics by employing advance techniques Two improved HIST [Hassan, Holt: 2005]  RECN(M): given a changed entity E, RECN(M) suggests all entities that changed with E in the past M months.  FREQ(A): given a changed entity E, FREQ(A) suggests all entities that changed with E at least twice in the past and changed more that A% of the time with E. 22
  • 23. Improved HIST heuristics  Integrated RECN(4) and FREQ(60) into the heuristic pool used by adaptive meta-heuristics  Achieved 0.73 to 0.78 for Recall and 0.64 for Precision  Nearly 30% increase in performance:  A-FREQ is within 91% of the optimal heuristic  A-REC is within 93% of the optimal heuristic RECN(M) F-Measure FREQ(A) F-Measure RECN(2) 0.39 FREQ(50) 0.39 RECN(4) 0.40 FREQ(60) 0.44 RECN(6) 0.34 FREQ(70) 0.42 RECN(8) 0.28 FREQ(80) 0.39 23
  • 24. Findings Adaptive heuristics can achieve:  0.73 to 0.78 for Recall and 0.64% Precession 57% improvement over T. heuristics Performance difference are statically significant based on a paired Wilcoxon signed rant test at 5% level of significant. (Alpha=0.05) 24