SlideShare a Scribd company logo
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

PPTX
Automatically Customizing Static Analysis Tools to Coding Rules Really Follow...
PPTX
Impact of Coding Style Checker on Code Review -A case study on the OpenStack ...
PPT
Using Developer Information as a Prediction Factor
PPT
Crowd debugging (FSE 2015)
PDF
03. HAMS - Project Scheduling
PDF
Personalized Defect Prediction
PDF
Istqb question-paper-dump-2
DOCX
A453 programming task 1
Automatically Customizing Static Analysis Tools to Coding Rules Really Follow...
Impact of Coding Style Checker on Code Review -A case study on the OpenStack ...
Using Developer Information as a Prediction Factor
Crowd debugging (FSE 2015)
03. HAMS - Project Scheduling
Personalized Defect Prediction
Istqb question-paper-dump-2
A453 programming task 1

What's hot (8)

PPTX
Ontology model for c overflow vulnerabilities attack
PDF
Istqb question-paper-dump-3
PDF
Reproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
ODT
FEB-08 ISTQB PAPER
PPT
Reactis
DOCX
Qtp ans
PDF
Istqb question-paper-dump-1
PPT
SVNChecker – The Missing Link Between Version Control And Bug Tracking
Ontology model for c overflow vulnerabilities attack
Istqb question-paper-dump-3
Reproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
FEB-08 ISTQB PAPER
Reactis
Qtp ans
Istqb question-paper-dump-1
SVNChecker – The Missing Link Between Version Control And Bug Tracking
Ad

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

PDF
Multi step automated refactoring for code smell
PDF
Multi step automated refactoring for code smell
PDF
IRJET-Automatic Bug Triage with Software
PDF
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
PDF
1506.08725v1
PPT
Ensuring code quality
PDF
Tackling Open Images Challenge (2019)
PDF
The job of software tester - How do I see software testing
PDF
Charlotte Gayton's OpenChain ISO 18974 Dissertation
PDF
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
PDF
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
PDF
Method-Level Code Clone Modification using Refactoring Techniques for Clone M...
PDF
Summarization Techniques for Code, Changes, and Testing
PPT
PDF
Machine programming
PDF
OW2Con 2013 - Measuring quality of software developments with Spago4Q
PDF
AIPyCraft: AI-Assisted Software Development Lifecycle for 6G Blockchain Oracl...
PDF
Lo 09
PDF
IRJET- Android Malware Detection using Deep Learning
PDF
A living story: measuring quality of developments in a large industrial softw...
 
Multi step automated refactoring for code smell
Multi step automated refactoring for code smell
IRJET-Automatic Bug Triage with Software
5WCSQ - Quality Improvement by the Real-Time Detection of the Problems
1506.08725v1
Ensuring code quality
Tackling Open Images Challenge (2019)
The job of software tester - How do I see software testing
Charlotte Gayton's OpenChain ISO 18974 Dissertation
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
EFFECTIVE IMPLEMENTATION OF AGILE PRACTICES – OBJECT ORIENTED METRICS TOOL TO...
Method-Level Code Clone Modification using Refactoring Techniques for Clone M...
Summarization Techniques for Code, Changes, and Testing
Machine programming
OW2Con 2013 - Measuring quality of software developments with Spago4Q
AIPyCraft: AI-Assisted Software Development Lifecycle for 6G Blockchain Oracl...
Lo 09
IRJET- Android Malware Detection using Deep Learning
A living story: measuring quality of developments in a large industrial softw...
 
Ad

More from Institute of Science Tokyo (20)

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

Recently uploaded (20)

PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Transform Your Business with a Software ERP System
PPTX
ai tools demonstartion for schools and inter college
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Digital Strategies for Manufacturing Companies
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Understanding Forklifts - TECH EHS Solution
PDF
System and Network Administration Chapter 2
PPTX
L1 - Introduction to python Backend.pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
AI in Product Development-omnex systems
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
System and Network Administraation Chapter 3
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
How Creative Agencies Leverage Project Management Software.pdf
Odoo Companies in India – Driving Business Transformation.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Transform Your Business with a Software ERP System
ai tools demonstartion for schools and inter college
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Digital Strategies for Manufacturing Companies
Design an Analysis of Algorithms I-SECS-1021-03
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
wealthsignaloriginal-com-DS-text-... (1).pdf
Understanding Forklifts - TECH EHS Solution
System and Network Administration Chapter 2
L1 - Introduction to python Backend.pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Internet Downloader Manager (IDM) Crack 6.42 Build 41
AI in Product Development-omnex systems
Navsoft: AI-Powered Business Solutions & Custom Software Development
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
System and Network Administraation Chapter 3
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025

Can Automated Impact Analysis Technique Help Predicting Decaying Modules?

  • 1. 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/ ]
  • 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↑