SlideShare a Scribd company logo
1 of 16
Download to read offline
CanAutomatedImpactAnalysis
TechniqueHelpPredicting
DecayingModules?
Tokyo Institute of
Technology
Natthawute
Sae-Lim
Shinpei
Hayashi
Motoshi
Saeki
[ Smelling things by Tjarko Busink: https://www.flickr.com/photos/sjekkiebunzing/13009723845/ ]
[ Smelling things by Tjarko Busink: https://www.flickr.com/photos/sjekkiebunzing/13009723845/ ]
Bad Smell
Code Smell
3
An indicator of a design flaw/problem
in the source code
One of the factors that cause technical debt
Increases code component’s fault-proneness
Detector
Code smells
Refactoring
Class A
{
__________
__________
__________
__________
}
Source code How to
prevent?
Non
Smell
Decaying Modules:
Modules going to be smelly
4
Smell
Module
Decaying
Index
0
1
Smell
Severity
Decaying modules ⇒ whose smell degree
has increased from the previous release
Time
5
approx. 19% of modules
were decaying modules
in each release
’’
Sae-Lim et al.,“Toward Proactive Refactoring:An Exploratory Study on Decaying Modules”, Proc. IWoR 2019.
[ 3/4" 285HV Grid 1749 by Peter Kemmer: https://www.flickr.com/photos/pkmousie/2225340795/ ]
decaying modules are
more likely to get decayed
in later releases
’’
Decaying Module Prediction
l Existing approach: code quality metric-based
l Use of task context
– Using IR-based impact analysis (IA) to connect
change descriptions to modules may contribute to
improving the prediction performance
6
Source code Source code
Bug 123
When
click…
Changes
Bug 123
When
click…
Bug 123
When
click…
Ver 1.0 Ver 2.0
Implementation
Research Questions
RQ1:
Can IR-based impact analysis
improve prediction performance?
7[ protractors by Dean Hochman: https://www.flickr.com/photos/deanhochman/14481958642/ ]
RQ2:
How can we further improve
prediction performance?
Baseline
8
All data
Training
data
Static
Analyzer
Detector
Model
Construction
1._______
2._______
3._______
4._______
Current RecentHistorical
Code quality
Decaying
modules
1…
2…
3…
Predicted results
Test data
Static
Analyzer
Trained model
Vn
Vn+1
1._______
2._______
3._______
4._______
Current RecentHistorical
Code quality
Pantiuchina, et al.:“Towards just-in-time refactoring recommenders”, Proc. ICPC 2018.
Baseline + Impact Analysis
10
Bug 123
When
click…
Bug 123
When
click…
Bug 123
When
click…
Change
descriptions
Impact
Analysis
Main()
xxx;;
Source code
Estimated
module list
Bug 123
When
click…
Bug 123
When
click…
Bug 123
When
click…
Change
descriptions
Impact
Analysis
Main()
xxx;;
Source code
Estimated
module list
Model
Construction
1._______
2._______
3._______
4._______
Current RecentHistorical
Code quality
Decaying
modules
1…
2…
3…
Predicted results
Trained model
1._______
2._______
3._______
4._______
Current RecentHistorical
Code quality
Dataset
Target smell: God Class
11
Project Period (years) # Releases
Accumulo 6 30
Ambari 6 33
Hive 13 28
Derby 7 33
Can IR-based IA improve
prediction performance?
12
RQ
1
Can IR-based IA improve
prediction performance?
13
RQ
1
If IA is perfect, accuracy becomes very high.
Future direction: Improving IA
Delete false positives (FPs)
Insert true positives (TPs)
How can we further
improve the performance?
14
RQ
2
Change
description
Bug 123
When
click… 1Oracle: 2 3 4 5
IA 1 2
1 2
1 2 3
Result:
Simulating IA results of different accuracy:
How can we further
improve the performance?
15
RQ
2
FP
Dec. Ratio
TP
Inc. Ratio
0
1
1
0
Accumulo
How can we further
improve the performance?
16
RQ
2
HiveDerby
Adding TPs (recall!) should be done first
AccumuloAmbari
Precision
Recall
IA accuracy↑ leads to Performance↑
CanAutomated
ImpactAnalysis
TechniqueHelp
Predicting
DecayingModules?
[ Smelling things by Tjarko Busink: https://www.flickr.com/photos/sjekkiebunzing/13009723845/ ]
Can IR-Based IA improve
prediction performance?
11
RQ
1
If IA is perfect, accuracy becomes very high
Future direction: Improving IA
Non
Smell
Decaying Modules:
Modules going to be smelly
3
Smell
Module
Decaying
Index
0
1
Smell
Severity
Decaying modules ⇒ whose smell degree
has increased from the previous release
Time
How can we further
improve the performance?
16
RQ
2
HiveDerby
Adding TPs (recall!) should be done first
AccumuloAmbari
Precision
Recall
IA accuracy↑ leads to Performance↑

More Related Content

What's hot

Ontology model for c overflow vulnerabilities attack
Ontology model for c overflow vulnerabilities attackOntology model for c overflow vulnerabilities attack
Ontology model for c overflow vulnerabilities attackNurul Haszeli Ahmad
 
Istqb question-paper-dump-3
Istqb question-paper-dump-3Istqb question-paper-dump-3
Istqb question-paper-dump-3TestingGeeks
 
Reproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
Reproducible Crashes: Fuzzing Pharo by Mutating the Test MethodsReproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
Reproducible Crashes: Fuzzing Pharo by Mutating the Test MethodsUniversity of Antwerp
 
Istqb question-paper-dump-1
Istqb question-paper-dump-1Istqb question-paper-dump-1
Istqb question-paper-dump-1TestingGeeks
 
SVNChecker – The Missing Link Between Version Control And Bug Tracking
SVNChecker – The Missing Link Between Version Control And Bug TrackingSVNChecker – The Missing Link Between Version Control And Bug Tracking
SVNChecker – The Missing Link Between Version Control And Bug Trackingguest965d2d
 

What's hot (8)

Ontology model for c overflow vulnerabilities attack
Ontology model for c overflow vulnerabilities attackOntology model for c overflow vulnerabilities attack
Ontology model for c overflow vulnerabilities attack
 
Istqb question-paper-dump-3
Istqb question-paper-dump-3Istqb question-paper-dump-3
Istqb question-paper-dump-3
 
Reproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
Reproducible Crashes: Fuzzing Pharo by Mutating the Test MethodsReproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
Reproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
 
FEB-08 ISTQB PAPER
FEB-08 ISTQB PAPERFEB-08 ISTQB PAPER
FEB-08 ISTQB PAPER
 
Reactis
ReactisReactis
Reactis
 
Qtp ans
Qtp ansQtp ans
Qtp ans
 
Istqb question-paper-dump-1
Istqb question-paper-dump-1Istqb question-paper-dump-1
Istqb question-paper-dump-1
 
SVNChecker – The Missing Link Between Version Control And Bug Tracking
SVNChecker – The Missing Link Between Version Control And Bug TrackingSVNChecker – The Missing Link Between Version Control And Bug Tracking
SVNChecker – The Missing Link Between Version Control And Bug Tracking
 

Similar to Can Automated Impact Analysis Technique Help Predicting Decaying Modules?

Multi step automated refactoring for code smell
Multi step automated refactoring for code smellMulti step automated refactoring for code smell
Multi step automated refactoring for code smelleSAT Publishing House
 
Multi step automated refactoring for code smell
Multi step automated refactoring for code smellMulti step automated refactoring for code smell
Multi step automated refactoring for code smelleSAT Journals
 
IRJET-Automatic Bug Triage with Software
IRJET-Automatic Bug Triage with Software IRJET-Automatic Bug Triage with Software
IRJET-Automatic Bug Triage with Software IRJET Journal
 
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the ProblemsTakanori Suzuki
 
Tackling Open Images Challenge (2019)
Tackling Open Images Challenge (2019)Tackling Open Images Challenge (2019)
Tackling Open Images Challenge (2019)Hiroto Honda
 
The job of software tester - How do I see software testing
The job of software tester - How do I see software testingThe job of software tester - How do I see software testing
The job of software tester - How do I see software testingAli LABBENE
 
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...University of Antwerp
 
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...ijseajournal
 
Method-Level Code Clone Modification using Refactoring Techniques for Clone M...
Method-Level Code Clone Modification using Refactoring Techniques for Clone M...Method-Level Code Clone Modification using Refactoring Techniques for Clone M...
Method-Level Code Clone Modification using Refactoring Techniques for Clone M...acijjournal
 
Summarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSummarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSebastiano Panichella
 
Machine programming
Machine programmingMachine programming
Machine programmingDESMOND YUEN
 
OW2Con 2013 - Measuring quality of software developments with Spago4Q
OW2Con 2013 - Measuring quality of software developments with Spago4QOW2Con 2013 - Measuring quality of software developments with Spago4Q
OW2Con 2013 - Measuring quality of software developments with Spago4QSpagoWorld
 
IRJET- Android Malware Detection using Deep Learning
IRJET- Android Malware Detection using Deep LearningIRJET- Android Malware Detection using Deep Learning
IRJET- Android Malware Detection using Deep LearningIRJET Journal
 
A living story: measuring quality of developments in a large industrial softw...
A living story: measuring quality of developments in a large industrial softw...A living story: measuring quality of developments in a large industrial softw...
A living story: measuring quality of developments in a large industrial softw...OW2
 
Problems of testing 64-bit applications
Problems of testing 64-bit applicationsProblems of testing 64-bit applications
Problems of testing 64-bit applicationsPVS-Studio
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALAlex Tarra
 

Similar to Can Automated Impact Analysis Technique Help Predicting Decaying Modules? (20)

Multi step automated refactoring for code smell
Multi step automated refactoring for code smellMulti step automated refactoring for code smell
Multi step automated refactoring for code smell
 
Multi step automated refactoring for code smell
Multi step automated refactoring for code smellMulti step automated refactoring for code smell
Multi step automated refactoring for code smell
 
IRJET-Automatic Bug Triage with Software
IRJET-Automatic Bug Triage with Software IRJET-Automatic Bug Triage with Software
IRJET-Automatic Bug Triage with Software
 
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
 
1506.08725v1
1506.08725v11506.08725v1
1506.08725v1
 
Ensuring code quality
Ensuring code qualityEnsuring code quality
Ensuring code quality
 
Tackling Open Images Challenge (2019)
Tackling Open Images Challenge (2019)Tackling Open Images Challenge (2019)
Tackling Open Images Challenge (2019)
 
The job of software tester - How do I see software testing
The job of software tester - How do I see software testingThe job of software tester - How do I see software testing
The job of software tester - How do I see software testing
 
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
 
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
 
Method-Level Code Clone Modification using Refactoring Techniques for Clone M...
Method-Level Code Clone Modification using Refactoring Techniques for Clone M...Method-Level Code Clone Modification using Refactoring Techniques for Clone M...
Method-Level Code Clone Modification using Refactoring Techniques for Clone M...
 
Summarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSummarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and Testing
 
Unit 2
Unit 2Unit 2
Unit 2
 
Machine programming
Machine programmingMachine programming
Machine programming
 
OW2Con 2013 - Measuring quality of software developments with Spago4Q
OW2Con 2013 - Measuring quality of software developments with Spago4QOW2Con 2013 - Measuring quality of software developments with Spago4Q
OW2Con 2013 - Measuring quality of software developments with Spago4Q
 
Lo 09
Lo 09Lo 09
Lo 09
 
IRJET- Android Malware Detection using Deep Learning
IRJET- Android Malware Detection using Deep LearningIRJET- Android Malware Detection using Deep Learning
IRJET- Android Malware Detection using Deep Learning
 
A living story: measuring quality of developments in a large industrial softw...
A living story: measuring quality of developments in a large industrial softw...A living story: measuring quality of developments in a large industrial softw...
A living story: measuring quality of developments in a large industrial softw...
 
Problems of testing 64-bit applications
Problems of testing 64-bit applicationsProblems of testing 64-bit applications
Problems of testing 64-bit applications
 
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINALJun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
Jun 08 - PMWT Featured Paper -Tarabykin - XP PAPER - FINAL
 

More from Shinpei Hayashi

Revisiting the Effect of Branch Handling Strategies on Change Recommendation
Revisiting the Effect of Branch Handling Strategies on Change RecommendationRevisiting the Effect of Branch Handling Strategies on Change Recommendation
Revisiting the Effect of Branch Handling Strategies on Change RecommendationShinpei Hayashi
 
An Extensive Study on Smell Aware Bug Localization
An Extensive Study on Smell Aware Bug LocalizationAn Extensive Study on Smell Aware Bug Localization
An Extensive Study on Smell Aware Bug LocalizationShinpei Hayashi
 
RefactorHub: A Commit Annotator for Refactoring
RefactorHub: A Commit Annotator for RefactoringRefactorHub: A Commit Annotator for Refactoring
RefactorHub: A Commit Annotator for RefactoringShinpei Hayashi
 
The Impact of Systematic Edits in History Slicing
The Impact of Systematic Edits in History SlicingThe Impact of Systematic Edits in History Slicing
The Impact of Systematic Edits in History SlicingShinpei Hayashi
 
ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source Code
ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source CodeChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source Code
ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source CodeShinpei Hayashi
 
Inference-Based Detection of Architectural Violations in MVC2
Inference-Based Detection of Architectural Violations in MVC2Inference-Based Detection of Architectural Violations in MVC2
Inference-Based Detection of Architectural Violations in MVC2Shinpei Hayashi
 
Detecting Bad Smells of Refinement in Goal-Oriented Requirements Analysis
Detecting Bad Smells of Refinement in Goal-Oriented Requirements AnalysisDetecting Bad Smells of Refinement in Goal-Oriented Requirements Analysis
Detecting Bad Smells of Refinement in Goal-Oriented Requirements AnalysisShinpei Hayashi
 
Establishing Regulatory Compliance in Goal-Oriented Requirements Analysis
Establishing Regulatory Compliance in Goal-Oriented Requirements AnalysisEstablishing Regulatory Compliance in Goal-Oriented Requirements Analysis
Establishing Regulatory Compliance in Goal-Oriented Requirements AnalysisShinpei Hayashi
 
How Can You Improve Your As-is Models? Requirements Analysis Methods Meet GQM
How Can You Improve Your As-is Models? Requirements Analysis Methods Meet GQMHow Can You Improve Your As-is Models? Requirements Analysis Methods Meet GQM
How Can You Improve Your As-is Models? Requirements Analysis Methods Meet GQMShinpei Hayashi
 
Guiding Identification of Missing Scenarios for Dynamic Feature Location
Guiding Identification of Missing Scenarios for Dynamic Feature LocationGuiding Identification of Missing Scenarios for Dynamic Feature Location
Guiding Identification of Missing Scenarios for Dynamic Feature LocationShinpei Hayashi
 
Modeling and Utilizing Security Knowledge for Eliciting Security Requirements
Modeling and Utilizing Security Knowledge for Eliciting Security RequirementsModeling and Utilizing Security Knowledge for Eliciting Security Requirements
Modeling and Utilizing Security Knowledge for Eliciting Security RequirementsShinpei Hayashi
 
Terminology Matching of Requirements Specification Documents and Regulations ...
Terminology Matching of Requirements Specification Documents and Regulations ...Terminology Matching of Requirements Specification Documents and Regulations ...
Terminology Matching of Requirements Specification Documents and Regulations ...Shinpei Hayashi
 
Historef: A Tool for Edit History Refactoring
Historef: A Tool  for Edit History RefactoringHistoref: A Tool  for Edit History Refactoring
Historef: A Tool for Edit History RefactoringShinpei Hayashi
 
Class Responsibility Assignment as Fuzzy Constraint Satisfaction
Class Responsibility Assignment as Fuzzy Constraint SatisfactionClass Responsibility Assignment as Fuzzy Constraint Satisfaction
Class Responsibility Assignment as Fuzzy Constraint SatisfactionShinpei Hayashi
 
Toward Understanding How Developers Recognize Features in Source Code from De...
Toward Understanding How Developers Recognize Features in Source Code from De...Toward Understanding How Developers Recognize Features in Source Code from De...
Toward Understanding How Developers Recognize Features in Source Code from De...Shinpei Hayashi
 
Refactoring Edit History of Source Code
Refactoring Edit History of Source CodeRefactoring Edit History of Source Code
Refactoring Edit History of Source CodeShinpei Hayashi
 
Understanding Source Code Differences by Separating Refactoring Effects
Understanding Source Code Differences by Separating Refactoring EffectsUnderstanding Source Code Differences by Separating Refactoring Effects
Understanding Source Code Differences by Separating Refactoring EffectsShinpei Hayashi
 
ソフトウェア工学勉強会への誘い
ソフトウェア工学勉強会への誘いソフトウェア工学勉強会への誘い
ソフトウェア工学勉強会への誘いShinpei Hayashi
 
Supporting Design Model Refactoring for Improving Class Responsibility Assign...
Supporting Design Model Refactoring for Improving Class Responsibility Assign...Supporting Design Model Refactoring for Improving Class Responsibility Assign...
Supporting Design Model Refactoring for Improving Class Responsibility Assign...Shinpei Hayashi
 
Sentence-to-Code Traceability Recovery with Domain Ontologies
Sentence-to-Code Traceability Recovery with Domain OntologiesSentence-to-Code Traceability Recovery with Domain Ontologies
Sentence-to-Code Traceability Recovery with Domain OntologiesShinpei Hayashi
 

More from Shinpei Hayashi (20)

Revisiting the Effect of Branch Handling Strategies on Change Recommendation
Revisiting the Effect of Branch Handling Strategies on Change RecommendationRevisiting the Effect of Branch Handling Strategies on Change Recommendation
Revisiting the Effect of Branch Handling Strategies on Change Recommendation
 
An Extensive Study on Smell Aware Bug Localization
An Extensive Study on Smell Aware Bug LocalizationAn Extensive Study on Smell Aware Bug Localization
An Extensive Study on Smell Aware Bug Localization
 
RefactorHub: A Commit Annotator for Refactoring
RefactorHub: A Commit Annotator for RefactoringRefactorHub: A Commit Annotator for Refactoring
RefactorHub: A Commit Annotator for Refactoring
 
The Impact of Systematic Edits in History Slicing
The Impact of Systematic Edits in History SlicingThe Impact of Systematic Edits in History Slicing
The Impact of Systematic Edits in History Slicing
 
ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source Code
ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source CodeChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source Code
ChangeMacroRecorder: Recording Fine-Grained Textual Changes of Source Code
 
Inference-Based Detection of Architectural Violations in MVC2
Inference-Based Detection of Architectural Violations in MVC2Inference-Based Detection of Architectural Violations in MVC2
Inference-Based Detection of Architectural Violations in MVC2
 
Detecting Bad Smells of Refinement in Goal-Oriented Requirements Analysis
Detecting Bad Smells of Refinement in Goal-Oriented Requirements AnalysisDetecting Bad Smells of Refinement in Goal-Oriented Requirements Analysis
Detecting Bad Smells of Refinement in Goal-Oriented Requirements Analysis
 
Establishing Regulatory Compliance in Goal-Oriented Requirements Analysis
Establishing Regulatory Compliance in Goal-Oriented Requirements AnalysisEstablishing Regulatory Compliance in Goal-Oriented Requirements Analysis
Establishing Regulatory Compliance in Goal-Oriented Requirements Analysis
 
How Can You Improve Your As-is Models? Requirements Analysis Methods Meet GQM
How Can You Improve Your As-is Models? Requirements Analysis Methods Meet GQMHow Can You Improve Your As-is Models? Requirements Analysis Methods Meet GQM
How Can You Improve Your As-is Models? Requirements Analysis Methods Meet GQM
 
Guiding Identification of Missing Scenarios for Dynamic Feature Location
Guiding Identification of Missing Scenarios for Dynamic Feature LocationGuiding Identification of Missing Scenarios for Dynamic Feature Location
Guiding Identification of Missing Scenarios for Dynamic Feature Location
 
Modeling and Utilizing Security Knowledge for Eliciting Security Requirements
Modeling and Utilizing Security Knowledge for Eliciting Security RequirementsModeling and Utilizing Security Knowledge for Eliciting Security Requirements
Modeling and Utilizing Security Knowledge for Eliciting Security Requirements
 
Terminology Matching of Requirements Specification Documents and Regulations ...
Terminology Matching of Requirements Specification Documents and Regulations ...Terminology Matching of Requirements Specification Documents and Regulations ...
Terminology Matching of Requirements Specification Documents and Regulations ...
 
Historef: A Tool for Edit History Refactoring
Historef: A Tool  for Edit History RefactoringHistoref: A Tool  for Edit History Refactoring
Historef: A Tool for Edit History Refactoring
 
Class Responsibility Assignment as Fuzzy Constraint Satisfaction
Class Responsibility Assignment as Fuzzy Constraint SatisfactionClass Responsibility Assignment as Fuzzy Constraint Satisfaction
Class Responsibility Assignment as Fuzzy Constraint Satisfaction
 
Toward Understanding How Developers Recognize Features in Source Code from De...
Toward Understanding How Developers Recognize Features in Source Code from De...Toward Understanding How Developers Recognize Features in Source Code from De...
Toward Understanding How Developers Recognize Features in Source Code from De...
 
Refactoring Edit History of Source Code
Refactoring Edit History of Source CodeRefactoring Edit History of Source Code
Refactoring Edit History of Source Code
 
Understanding Source Code Differences by Separating Refactoring Effects
Understanding Source Code Differences by Separating Refactoring EffectsUnderstanding Source Code Differences by Separating Refactoring Effects
Understanding Source Code Differences by Separating Refactoring Effects
 
ソフトウェア工学勉強会への誘い
ソフトウェア工学勉強会への誘いソフトウェア工学勉強会への誘い
ソフトウェア工学勉強会への誘い
 
Supporting Design Model Refactoring for Improving Class Responsibility Assign...
Supporting Design Model Refactoring for Improving Class Responsibility Assign...Supporting Design Model Refactoring for Improving Class Responsibility Assign...
Supporting Design Model Refactoring for Improving Class Responsibility Assign...
 
Sentence-to-Code Traceability Recovery with Domain Ontologies
Sentence-to-Code Traceability Recovery with Domain OntologiesSentence-to-Code Traceability Recovery with Domain Ontologies
Sentence-to-Code Traceability Recovery with Domain Ontologies
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
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
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
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
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
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
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
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
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
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
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
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
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
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...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
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)
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 

Can Automated Impact Analysis Technique Help Predicting Decaying Modules?

  • 2. [ Smelling things by Tjarko Busink: https://www.flickr.com/photos/sjekkiebunzing/13009723845/ ] Bad Smell
  • 3. Code Smell 3 An indicator of a design flaw/problem in the source code One of the factors that cause technical debt Increases code component’s fault-proneness Detector Code smells Refactoring Class A { __________ __________ __________ __________ } Source code How to prevent?
  • 4. Non Smell Decaying Modules: Modules going to be smelly 4 Smell Module Decaying Index 0 1 Smell Severity Decaying modules ⇒ whose smell degree has increased from the previous release Time
  • 5. 5 approx. 19% of modules were decaying modules in each release ’’ Sae-Lim et al.,“Toward Proactive Refactoring:An Exploratory Study on Decaying Modules”, Proc. IWoR 2019. [ 3/4" 285HV Grid 1749 by Peter Kemmer: https://www.flickr.com/photos/pkmousie/2225340795/ ] decaying modules are more likely to get decayed in later releases ’’
  • 6. Decaying Module Prediction l Existing approach: code quality metric-based l Use of task context – Using IR-based impact analysis (IA) to connect change descriptions to modules may contribute to improving the prediction performance 6 Source code Source code Bug 123 When click… Changes Bug 123 When click… Bug 123 When click… Ver 1.0 Ver 2.0 Implementation
  • 7. Research Questions RQ1: Can IR-based impact analysis improve prediction performance? 7[ protractors by Dean Hochman: https://www.flickr.com/photos/deanhochman/14481958642/ ] RQ2: How can we further improve prediction performance?
  • 8. Baseline 8 All data Training data Static Analyzer Detector Model Construction 1._______ 2._______ 3._______ 4._______ Current RecentHistorical Code quality Decaying modules 1… 2… 3… Predicted results Test data Static Analyzer Trained model Vn Vn+1 1._______ 2._______ 3._______ 4._______ Current RecentHistorical Code quality Pantiuchina, et al.:“Towards just-in-time refactoring recommenders”, Proc. ICPC 2018.
  • 9. Baseline + Impact Analysis 10 Bug 123 When click… Bug 123 When click… Bug 123 When click… Change descriptions Impact Analysis Main() xxx;; Source code Estimated module list Bug 123 When click… Bug 123 When click… Bug 123 When click… Change descriptions Impact Analysis Main() xxx;; Source code Estimated module list Model Construction 1._______ 2._______ 3._______ 4._______ Current RecentHistorical Code quality Decaying modules 1… 2… 3… Predicted results Trained model 1._______ 2._______ 3._______ 4._______ Current RecentHistorical Code quality
  • 10. Dataset Target smell: God Class 11 Project Period (years) # Releases Accumulo 6 30 Ambari 6 33 Hive 13 28 Derby 7 33
  • 11. Can IR-based IA improve prediction performance? 12 RQ 1
  • 12. Can IR-based IA improve prediction performance? 13 RQ 1 If IA is perfect, accuracy becomes very high. Future direction: Improving IA
  • 13. Delete false positives (FPs) Insert true positives (TPs) How can we further improve the performance? 14 RQ 2 Change description Bug 123 When click… 1Oracle: 2 3 4 5 IA 1 2 1 2 1 2 3 Result: Simulating IA results of different accuracy:
  • 14. How can we further improve the performance? 15 RQ 2 FP Dec. Ratio TP Inc. Ratio 0 1 1 0 Accumulo
  • 15. How can we further improve the performance? 16 RQ 2 HiveDerby Adding TPs (recall!) should be done first AccumuloAmbari Precision Recall IA accuracy↑ leads to Performance↑
  • 16. CanAutomated ImpactAnalysis TechniqueHelp Predicting DecayingModules? [ Smelling things by Tjarko Busink: https://www.flickr.com/photos/sjekkiebunzing/13009723845/ ] Can IR-Based IA improve prediction performance? 11 RQ 1 If IA is perfect, accuracy becomes very high Future direction: Improving IA Non Smell Decaying Modules: Modules going to be smelly 3 Smell Module Decaying Index 0 1 Smell Severity Decaying modules ⇒ whose smell degree has increased from the previous release Time How can we further improve the performance? 16 RQ 2 HiveDerby Adding TPs (recall!) should be done first AccumuloAmbari Precision Recall IA accuracy↑ leads to Performance↑