ABSTRACT
Context. The accumulation of technical debt (TD) items can lead to risks in software projects, such a gradual decrease in product quality, difficulties in their maintenance, and ultimately the cancellation of the project. To mitigate these risks, developers need means to identify TD items, which enable better documentation and improvements in TD management. Recent literature has proposed different indicator-based strategies for TD identification. However, there is limited empirical evidence to support that developers use these indicators to identify TD in practice. In this context, data from Q&A websites, such as Stack Overflow (SO), have been extensively leveraged in recent studies to investigate software engineering practices from a developers' point of view. Goal. This paper seeks to investigate, from the point of view of practitioners, how developers commonly identify TD items in their projects. Method. We mined, curated, and selected a total of 140 TD-related discussions on SO, from which we performed both quantitative and qualitative analyses. Results. We found that SO's practitioners commonly discuss TD identification, revealing 29 different low-level indicators for recognizing TD items on code, infrastructure, architecture, and tests. We grouped low-level indicators based on their themes, producing an aggregated set of 13 distinct high-level indicators. We then classified all low- and high-level indicators into three different categories according to which type of debt each of them is meant to identify. Conclusions. We organize the empirical evidence on the low- and high-level indicators and their relationship to types of TD in a conceptual framework, which may assist developers and serve as guidance for future research, shedding new light on TD identification state-of-practice.
- Muhammad Ahasanuzzaman, Muhammad Asaduzzaman, Chanchal K. Roy, and Kevin A. Schneider. 2016. Mining duplicate questions in stack overflow. In Proceedings of the 13th International Workshop on Mining Software Repositories. ACM Press, New York, New York, USA, 402--412.Google Scholar
- Sebastian Baltes, Christoph Treude, and Stephan Diehl. 2019. Sotorrent: Studying the origin, evolution, and usage of stack overflow code snippets. In Proceedings of the 16th International Conference on Mining Software Repositories. IEEE Press.Google ScholarDigital Library
- Alan Bandeira, Carlos Alberto Medeiros, Matheus Paixao, and Paulo Henrique Maia. 2019. We Need to Talk about Microservices: an Analysis from the Discussions on StackOverflow. International Conference on Mining Software Repositories 5 (2019), 255--259.Google ScholarDigital Library
- D. Falessi, M. A. Shaw, F. Shull, K. Mullen, and M. S. Keymind. 2013. Practical considerations, challenges, and requirements of tool-support for managing technical debt, Vol. 00. 16--19.Google Scholar
- Martin Fowler, Kent Beck, John Brant, William Opdyke, and don Roberts. 2002. Refactoring: Improving the Design of Existing Code. PEARSON EDUCATION.Google ScholarCross Ref
- Sávio Freire, Nicolli Rios, Boris Gutierrez, Darío Torres, Manoel Mendonça, Clemente Izurieta, Carolyn Seaman, and Rodrigo O. Spínola. 2020. Surveying Software Practitioners on Technical Debt Payment Practices and Reasons for Not Paying off Debt Items. In Proceedings of the Evaluation and Assessment in Software Engineering (EASE '20). ACM, New York, NY, USA, 210--219. https://doi.org/10.1145/3383219.3383241Google ScholarDigital Library
- Eliakim Gama, Sávio Freire, Manoel Mendonça, Rodrigo O. Spínola, Matheus Paixao, and Mariela I. Cortés. 2020. Replication package for the paper: "Using Stack Overflow to Assess Technical Debt Identification on Software Projects". https://zenodo.org/record/3998025Google Scholar
- Eliakim Gama, Matheus Paixao, Emmanuel Sávio Silva Freire, and Mariela Inés Cortés. 2019. Technical Debt's State of Practice on Stack Overflow. In Proceedings of the XVIII Brazilian Symposium on Software Quality - SBQS'19. ACM Press, New York, New York, USA, 228--233.Google ScholarDigital Library
- Yuepu Guo, Rodrigo Oliveira Spínola, and Carolyn Seaman. 2016. Exploring the Costs of Technical Debt Management --- a Case Study. Empirical Softw. Engg. 21, 1 (2016), 159--182.Google ScholarDigital Library
- David Kavaler, Daryl Posnett, Clint Gibler, Hao Chen, Premkumar Devanbu, and Vladimir Filkov. 2013. Using and asking: Apis used in the android market and asked about in stackoverflow. In International Conference on Social Informatics. Springer, 405--418.Google ScholarDigital Library
- Mario Linares-Vásquez, Gabriele Bavota, Massimiliano Di Penta, Rocco Oliveto, and Denys Poshyvanyk. 2014. How Do API Changes Trigger Stack Overflow Discussions? A Study on the Android SDK. In Proceedings of the 22nd International Conference on Program Comprehension (Hyderabad, India) (ICPC 2014). Association for Computing Machinery, New York, NY, USA, 83--94. https://doi.org/10.1145/2597008.2597155Google ScholarDigital Library
- R.C. Lupton and J.M. Allwood. 2017. Hybrid Sankey diagrams: Visual analysis of multidimensional data for understanding resource use. Resources, Conservation and Recycling 124 (2017), 141--151. https://doi.org/10.1016/j.resconrec.2017.05.002Google ScholarCross Ref
- Mika Mäntylä and Casper Lassenius. 2006. Subjective evaluation of software evolvability using code smells: An empirical study. Empirical Software Engineering 11, 3 (2006), 395--431. http://dblp.uni-trier.de/db/journals/ese/ese11.html#MantylaL06Google ScholarDigital Library
- I. Ozkaya, R. L. Nord, and P. Kruchten. 2012. Technical Debt: From Metaphor to Theory and Practice. IEEE Software 29 (2012), 18--21.Google ScholarDigital Library
- Nicolli Rios, Manoel Mendonça, and Rodrigo O. Spínola. 2018. A tertiary study on technical debt: Types, management strategies, research trends, and base information for practitioners. Information and Software Technology 102 (2018), 117--145.Google ScholarCross Ref
- Nicolli Rios, Thiago S.Mendes, Manoel Mendonça, Rodrigo O. Spínola, Forrest Shull, and Carolyn Seaman. 2016. Identification and management of technical debt: A systematic mapping study. 70 (2016), 100--121.Google Scholar
- Christoffer Rosen and Emad Shihab. 2016. What Are Mobile Developers Asking about? A Large Scale Study Using Stack Overflow. Empirical Softw. Engg. 21, 3 (June 2016), 1192--1223. https://doi.org/10.1007/s10664-015-9379-3Google ScholarDigital Library
- Carolyn B. Seaman. 1999. Qualitative Methods in Empirical Studies of Software Engineering. IEEE Trans. Softw. Eng. 25, 4 (July 1999), 557--572. https://doi.org/10.1109/32.799955Google ScholarDigital Library
- StackOverflow. 2020. Stack Overflow Annual Developer Survey. https://stackoverflow.com/help/privileges Accessed: 2020-06-08.Google Scholar
- Anselm L. Strauss and Juliet M. Corbin. 1998. Basics of qualitative research: techniques and procedures for developing grounded theory. Sage Publications, Thousand Oaks, Calif. XIII, 312 s pages.Google Scholar
- Amjed Tahir, Aiko Yamashita, Sherlock Licorish, Jens Dietrich, and Steve Counsell. 2018. Can You Tell Me If It Smells? A Study on How Developers Discuss Code Smells and Anti-Patterns in Stack Overflow. In Proceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering 2018 (Christchurch, New Zealand) (EASE'18). Association for Computing Machinery, New York, NY, USA, 68--78. https://doi.org/10.1145/3210459.3210466Google ScholarDigital Library
- Claes Wohlin, Per Runeson, Martin Höst, Magnus C Ohlsson, Björn Regnell, and Anders Wesslén. 2012. Experimentation in software engineering. Springer Science & Business Media.Google ScholarCross Ref
Index Terms
- Using Stack Overflow to Assess Technical Debt Identification on Software Projects
Recommendations
On the relation between technical debt indicators and quality criteria in Stack Overflow discussions
SBES '21: Proceedings of the XXXV Brazilian Symposium on Software EngineeringContext: Technical debt (TD) can compromise the quality of software systems in the long term. However, depending on the needs and properties of the specific product, different quality characteristics may be considered in the assessment with different ...
How do software development teams manage technical debt? - An empirical study
Exploratory case study with empirical data from eight software development teams.Observation of various different strategies for technical debt management.Developed technical debt management framework. Technical debt (TD) is a metaphor for taking ...
Technical Debt on Agile Projects: Managers’ point of view at Stack Exchange
SBQS '22: Proceedings of the XXI Brazilian Symposium on Software QualityContext: The literature has proposed different approaches for Agile software development technical debt (ASD-TD) management, they are usually based on the point of view of software developers. Little is known about how project management practitioners ...
Comments