SlideShare a Scribd company logo
Refactoring Debt: Myth or Reality? An
Exploratory Study on the Relationship
Between Technical Debt and Refactoring
Anthony Peruma, Eman A. AlOmar, Christian D. Newman,
Mohamed W. Mkaouer & Ali Ouni
The 19th International Conference on Mining Software Repositories
Intentionally documenting improvements
to the source code
Self-Admitted Technical Debt
Non-optimal code shipped to production
Technical Debt
GOAL
IMPACT
RESEARCH
QUESTIONS
CONTRIBUTION
Explore the repayment of technical debt
through refactoring operations
Provide developers and tool vendors with
insight to improve code quality
Extent of the removal of technical debt through refactoring
Types of debt addressed through refactoring
Dataset and discussion of the impact of
refactoring and debt repayment
Source Dataset
SmartSHARK
MongoDB Release 2.1
(full version)
Data Extraction
▪ SATD Removed Commits
▪ Refactoring Commits
▪ Refactoring Operations
▪ Hunks (Code Diffs)
Quantitative
Analysis
Qualitative
Analysis
Custom Python Scripts
Technical debt categories resolved via refactoring:
▪ Error Handling – Improve (or implement) error handling
▪ Code & Structural Improvements
• Clean-up Activities – e.g., renaming identifiers
• Design Improvements – e.g., moving code
▪ Feature Updates – Refactoring operations to
incorporate/implement feature changes
Greater likelihood of debt repayment through
refactoring activities:
• 76 of 77 systems have debt removal via refactoring
• 76 systems have an Odds Ratio > 1
• Statistically significant difference in the number of
refactoring operations applied to files
Developers apply a variety of refactoring operations:
• Extract Attribute is frequently applied multiple
times followed by Change Variable Type
Potential Code Quality Tools:
• Support for robust error handling – automatic detection of
shortcomings in the code; customization of auto-generated try-
catch blocks
• Improving the accuracy of refactoring recommendations –
considering the occurrence of SATD in the code
• Aligns with existing studies showing a co-occurrence between debt
repayment and refactoring actions
• Opens the door for potential future work
A more formal and exhaustive set of causes for repayment categories
Conclusion & Takeaways

More Related Content

PDF
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
PDF
Taming technical debt
PDF
Working with Technical Debt
PPTX
Beyond technical debt
PPTX
Understanding and Managing Technical Debt
PPTX
Managing Technical Debt
PDF
Pay Now or Pay More Every Day: Reduce Technical Debt Now!
PDF
Lessons learned in surviving to Technical Debt
Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship B...
Taming technical debt
Working with Technical Debt
Beyond technical debt
Understanding and Managing Technical Debt
Managing Technical Debt
Pay Now or Pay More Every Day: Reduce Technical Debt Now!
Lessons learned in surviving to Technical Debt

Similar to Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship Between Technical Debt and Refactoring (20)

PDF
Technical Debt - The number one reason why technical projects get derailed
PPTX
Managing Technical Debt
PDF
Technical Debt, Unplanned Work and the Toyota Way
PDF
Why change code that works - On Technical Debt and Refactoring
PDF
What scrum masters and product owners should know about software quality and ...
PDF
Wait for it: identifying “On-Hold” self-admitted technical debt
PDF
Deloitte Tech Trends 2014 Technical Debt
PDF
Longhorn PHP Tech Debt
PDF
Struggling with Tech Debt? IT Consulting Can Help You Recover
PPTX
Technical debt
PDF
How to justify technical debt mitigations in Software Engineering
PDF
Managing Software Debt Workshop at Intel
PPTX
Technical debt a Business Perspective
PDF
From Technical Debt to Technical Health
PPTX
Tackling technical debt
PDF
calculate-business-costs-of-technical-debt.pdf
PDF
(Managing) Technical Debt
PDF
Self-admitted technical debt classification using natural language processing...
PPT
Technical & Product Debt Management
PDF
7 Steps to Pay Down the Interest on Your IT Technical Debt
Technical Debt - The number one reason why technical projects get derailed
Managing Technical Debt
Technical Debt, Unplanned Work and the Toyota Way
Why change code that works - On Technical Debt and Refactoring
What scrum masters and product owners should know about software quality and ...
Wait for it: identifying “On-Hold” self-admitted technical debt
Deloitte Tech Trends 2014 Technical Debt
Longhorn PHP Tech Debt
Struggling with Tech Debt? IT Consulting Can Help You Recover
Technical debt
How to justify technical debt mitigations in Software Engineering
Managing Software Debt Workshop at Intel
Technical debt a Business Perspective
From Technical Debt to Technical Health
Tackling technical debt
calculate-business-costs-of-technical-debt.pdf
(Managing) Technical Debt
Self-admitted technical debt classification using natural language processing...
Technical & Product Debt Management
7 Steps to Pay Down the Interest on Your IT Technical Debt
Ad

More from University of Hawai‘i at Mānoa (20)

PDF
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
PDF
Exploring Accessibility Trends and Challenges in Mobile App Development: A St...
PDF
The Impact of Generative AI-Powered Code Generation Tools on Software Enginee...
PDF
Mobile App Security Trends and Topics: An Examination of Questions From Stack...
PDF
On the Rationale and Use of Assertion Messages in Test Code: Insights from So...
PDF
A Developer-Centric Study Exploring Mobile Application Security Practices and...
PDF
Building Hawaii’s IT Future Together CIO Council & UH Manoa ICS Collaboration
PDF
Impostor Syndrome in Final Year Computer Science Students: An Eye Tracking an...
PDF
An Exploratory Study on the Occurrence of Self-Admitted Technical Debt in And...
PDF
Performance Comparison of Binary Machine Learning Classifiers in Identifying ...
PDF
Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...
PDF
A Primer on High-Quality Identifier Naming [ASE 2022]
PDF
Supporting the Maintenance of Identifier Names: A Holistic Approach to High-Q...
PDF
Preparing for the Academic Job Market: Experience and Tips from a Recent F...
PDF
A Primer on High-Quality Identifier Naming
PDF
Test Anti-Patterns: From Definition to Detection
PDF
Understanding Digits in Identifier Names: An Exploratory Study
PDF
How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics i...
PDF
IDEAL: An Open-Source Identifier Name Appraisal Tool
PDF
Using Grammar Patterns to Interpret Test Method Name Evolution
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Accessibility Trends and Challenges in Mobile App Development: A St...
The Impact of Generative AI-Powered Code Generation Tools on Software Enginee...
Mobile App Security Trends and Topics: An Examination of Questions From Stack...
On the Rationale and Use of Assertion Messages in Test Code: Insights from So...
A Developer-Centric Study Exploring Mobile Application Security Practices and...
Building Hawaii’s IT Future Together CIO Council & UH Manoa ICS Collaboration
Impostor Syndrome in Final Year Computer Science Students: An Eye Tracking an...
An Exploratory Study on the Occurrence of Self-Admitted Technical Debt in And...
Performance Comparison of Binary Machine Learning Classifiers in Identifying ...
Rename Chains: An Exploratory Study on the Occurrence and Characteristics of ...
A Primer on High-Quality Identifier Naming [ASE 2022]
Supporting the Maintenance of Identifier Names: A Holistic Approach to High-Q...
Preparing for the Academic Job Market: Experience and Tips from a Recent F...
A Primer on High-Quality Identifier Naming
Test Anti-Patterns: From Definition to Detection
Understanding Digits in Identifier Names: An Exploratory Study
How Do I Refactor This? An Empirical Study on Refactoring Trends and Topics i...
IDEAL: An Open-Source Identifier Name Appraisal Tool
Using Grammar Patterns to Interpret Test Method Name Evolution
Ad

Recently uploaded (20)

PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
L1 - Introduction to python Backend.pptx
PDF
Digital Strategies for Manufacturing Companies
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
ai tools demonstartion for schools and inter college
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Nekopoi APK 2025 free lastest update
PDF
AI in Product Development-omnex systems
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
top salesforce developer skills in 2025.pdf
PPTX
Transform Your Business with a Software ERP System
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Essential Infomation Tech presentation.pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Reimagine Home Health with the Power of Agentic AI​
Internet Downloader Manager (IDM) Crack 6.42 Build 41
L1 - Introduction to python Backend.pptx
Digital Strategies for Manufacturing Companies
Odoo POS Development Services by CandidRoot Solutions
Which alternative to Crystal Reports is best for small or large businesses.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
ai tools demonstartion for schools and inter college
wealthsignaloriginal-com-DS-text-... (1).pdf
Design an Analysis of Algorithms I-SECS-1021-03
Nekopoi APK 2025 free lastest update
AI in Product Development-omnex systems
Design an Analysis of Algorithms II-SECS-1021-03
top salesforce developer skills in 2025.pdf
Transform Your Business with a Software ERP System
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Essential Infomation Tech presentation.pptx
How to Choose the Right IT Partner for Your Business in Malaysia

Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship Between Technical Debt and Refactoring

  • 1. Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship Between Technical Debt and Refactoring Anthony Peruma, Eman A. AlOmar, Christian D. Newman, Mohamed W. Mkaouer & Ali Ouni The 19th International Conference on Mining Software Repositories
  • 2. Intentionally documenting improvements to the source code Self-Admitted Technical Debt Non-optimal code shipped to production Technical Debt
  • 3. GOAL IMPACT RESEARCH QUESTIONS CONTRIBUTION Explore the repayment of technical debt through refactoring operations Provide developers and tool vendors with insight to improve code quality Extent of the removal of technical debt through refactoring Types of debt addressed through refactoring Dataset and discussion of the impact of refactoring and debt repayment
  • 4. Source Dataset SmartSHARK MongoDB Release 2.1 (full version) Data Extraction ▪ SATD Removed Commits ▪ Refactoring Commits ▪ Refactoring Operations ▪ Hunks (Code Diffs) Quantitative Analysis Qualitative Analysis Custom Python Scripts Technical debt categories resolved via refactoring: ▪ Error Handling – Improve (or implement) error handling ▪ Code & Structural Improvements • Clean-up Activities – e.g., renaming identifiers • Design Improvements – e.g., moving code ▪ Feature Updates – Refactoring operations to incorporate/implement feature changes Greater likelihood of debt repayment through refactoring activities: • 76 of 77 systems have debt removal via refactoring • 76 systems have an Odds Ratio > 1 • Statistically significant difference in the number of refactoring operations applied to files Developers apply a variety of refactoring operations: • Extract Attribute is frequently applied multiple times followed by Change Variable Type
  • 5. Potential Code Quality Tools: • Support for robust error handling – automatic detection of shortcomings in the code; customization of auto-generated try- catch blocks • Improving the accuracy of refactoring recommendations – considering the occurrence of SATD in the code • Aligns with existing studies showing a co-occurrence between debt repayment and refactoring actions • Opens the door for potential future work A more formal and exhaustive set of causes for repayment categories Conclusion & Takeaways