Asking about Technical Debt: Characteristics and Automatic Identification of Technical Debt Questions on Stack Overflow
Background: Numerous methodologies have been used to study technical debt. Among different data sources, questions and answer sites provide an opportunity to study how users reference and request support on technical debt. To date only a handful of studies, focusing on narrow aspects of technical debt, investigate the phenomenon through the lens of Stack Overflow.
Aims: We aim at gaining an in-depth understanding on the characteristics of technical debt questions of one of the most popular programming question and answer sites, namely Stack Overflow. In addition, we assess if identification strategies based on natural language processing and machine learning models, rather than the keyword-based ones used so far, can be leveraged to automatically identify and classify questions regarding technical debt on the platform.
Method: We use combination of automated and manual processes to identify technical debt questions on Stack Overflow. The final set of 415 questions is analyzed both quantitatively and qualitatively to study (i) technical debt types, (ii) question length, (iii) perceived urgency, (iv) sentiment, and (v) emerging themes. Natural language processing and machine learning techniques are used to evaluate if technical debt questions can be identified and classified automatically.
Results: Architecture debt is the most recurring debt type, followed by code and design debt. Most questions display mild urgency, with the frequency of higher urgency steadily declining as urgency rises. Question length varies across debt types. Sentiment of questions is mostly neutral. 29 themes emerge, with technical debt resolution and management being most recurrent. Machine learning models can be used to automatically identify technical debt questions and binary urgency accurately, but not debt types.
Conclusions: Different patterns emerge from the analysis of technical debt questions on Stack Overflow. The results provide further insights on the phenomenon, and support the adoption of a more comprehensive strategy to identify technical debt questions.
Thu 22 SepDisplayed time zone: Athens change
13:30 - 15:00 | Session 2B - Technical Debt & Effort EstimationESEM Industry Forum / ESEM Emerging Results and Vision Papers / ESEM Technical Papers at Sonck Chair(s): Carolyn Seaman University of Maryland Baltimore County | ||
13:30 20mFull-paper | Asking about Technical Debt: Characteristics and Automatic Identification of Technical Debt Questions on Stack Overflow ESEM Technical Papers Nicholas Kozanidis Vrije Universiteit Amsterdam, Roberto Verdecchia Vrije Universiteit Amsterdam, Emitzá Guzmán Vrije Universiteit Amsterdam Pre-print | ||
13:50 15mVision and Emerging Results | An Experience Report on Technical Debt in Pull Requests: Challenges and Lessons Learned ESEM Emerging Results and Vision Papers Shubhashis Karmakar University of Saskatchewan, Zadia Codabux University of Saskatchewan, Melina Vidoni Australian National University DOI | ||
14:05 20mFull-paper | Bayesian Analysis of Bug-Fixing Time using Report Data ESEM Technical Papers Renan Vieira Federal University of Ceará, Diego Mesquita Getulio Vargas Foundation, César Lincoln Mattos Federal University of Ceará, Ricardo Britto Ericsson / Blekinge Institute of Technology, Lincoln Rocha Federal University of Ceará, João Gomes Federal University of Ceará | ||
14:25 15mTalk | Investigating a NASA Cyclomatic Complexity Policy on Maintenance of a Critical System ESEM Industry Forum | ||
14:40 15mVision and Emerging Results | An Empirical Study on the Occurrences of Code Smells in Open Source and Industrial Projects ESEM Emerging Results and Vision Papers Md. Masudur Rahman Institute of Information Technology (IIT), University of Dhaka, Abdus Satter University of Dhaka, Mahbubul Alam Joarder Institute of Information Technology (IIT), University of Dhaka, Kazi Sakib Institute of Information Technology, University of Dhaka DOI Media Attached |