ABSTRACT
Context: Previous work have investigated the industry's state of practice on technical debt (TD) by surveying invited practitioners. However, these studies have included only practitioners with a sound understanding of TD, which might incur biases in their findings. One way to reduce this bias is to consider Q&A platforms, such as Stack Overflow (SO), because of containing practitioners with different roles and levels of TD knowledge. Therefore, the discussions on SO can broaden the perception of the state of practice on TD in the industry. Goal: To investigate how TD concepts have been discussed by SO's practitioners. Method: First, we employed data mining techniques to identify TD-related discussions on SO. Next, based on significance and popularity metrics, we considered 195 discussions to be further investigated. For each discussion, we analyzed its contents to identify types of TD followed by activities, strategies, and tools used in its management. Results: We found that code, infrastructure, and architecture debt are the most discussed types of TD on SO. Similarly, TD identification and payment are the most discussed activities. Regarding tools and strategies for TD management, SonarQube and refactoring have been mostly mentioned by practitioners. Conclusion: Our findings may indicate new research directions, as well as expanding the empirical knowledge on how the industry has handled TD.
- M. Ahasanuzzaman, M. Asaduzzaman, C. K. Roy, and K. A. Schneider. 2016. Mining duplicate questions in stack overflow. in Proceedings of the 13th International Workshop on Mining Software Repositories - MSR (2016), 402--412.Google ScholarDigital Library
- Nicolli S.R. Alves, Thiago S. Mendes, Manoel G. de Mendonça, Rodrigo O. Spínola, Forrest Shull, and Carolyn Seaman. 2016. Identification and management of technical debt: A systematic mapping study. Information and Software Technology 70 (2016), 100 -- 121.Google ScholarDigital Library
- Nicolli Souza Rios Alves, Rodrigo Oliveira Spínola, Manoel G. Mendonça, and Carolyn B. Seaman. 2018. The most common causes and effects of technical debt: first results from a global family of industrial surveys. In Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement, ESEM 2018, Oulu, Finland, October 11-12, 2018. 39:1--39:10.Google ScholarDigital Library
- Ashton Anderson, Daniel Huttenlocher, Jon Kleinberg, and Jure Leskovec. 2012. Discovering value from community activity on focused question answering sites. In Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining - KDD '12. ACM Press.Google ScholarDigital Library
- 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
- Ward Cunningham. 1992. The WyCash Portfolio Management System. In Addendum to the Proceedings on Object-oriented Programming Systems, Languages, and Applications (Addendum). 29--30.Google Scholar
- Eliakim Gama, Emmanuel Sávio Silva Freire, Matheus Paixao, and Mariela Inés Cortés. 2019. Replication package for the paper: "Technical Debt's State of Practice on Stack Overflow: a Preliminary Study". https://zenodo.org/record/3383148#.XWvH8HVKhhEGoogle Scholar
- M. Firdaus Harun and Horst Lichter. 2015. Towards a Technical Debt Management Framework based on Cost-Benefit Analysis. In Proceedings of The Tenth International Conference on Software Engineering Advances. 70--73.Google Scholar
- D. Kavaler, D. Posnett, C. Gibler, H. Chen, P. Devanbu, and V. Filkov. 2013. Using and asking: Apis used in the android market and asked about in stackoverflow. in International Conference on Social Informatics (2013), 405--418.Google ScholarDigital Library
- Zengyang Li, Paris Avgeriou, and Peng Liang. 2015. A Systematic Mapping Study on Technical Debt and Its Management. J. Syst. Softw. 101, C (March 2015).Google ScholarDigital Library
- Luca Ponzanelli, Gabriele Bavota, Massimiliano Di Penta, Rocco Oliveto, and Michele Lanza. 2014. Mining StackOverflow to turn the IDE into a self-confident programming prompter. In Proceedings of the 11th Working Conference on Mining Software Repositories. ACM, 102--111.Google ScholarDigital Library
- Narayan Ramasubbu and Chris Kemerer. 2018. Integrating Technical Debt Management and Software Quality Management Processes: A Framework and Field Tests. In Proceedings of the 40th International Conference on Software Engineering.Google ScholarDigital Library
- Nicolli Rios, Manoel Gomes de Mendonça Neto, and Rodrigo Oliveira 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
- Christoffer Rosen and Emad Shihab. 2016. What are mobile developers asking about? A large scale study using stack overflow. Empirical Software Engineering 21, 3 (jun 2016), 1192--1223.Google ScholarDigital Library
- Per Runeson and Martin Höst. 2009. Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering 14, 2 (apr 2009), 131--164.Google ScholarDigital Library
- Mohamed Soliman, Matthias Galster, Amr R. Salama, and Matthias Riebisch. 2016. Architectural knowledge for technology decisions in developer communities: An exploratory study with stackoverflow. Working IEEE/IFIP Conference on Software Architecture (WICSA) 6 (2016), 128--133.Google ScholarCross Ref
- StackOverflow. [n.d.]. Stack Overflow Annual Developer Survey. https://insights.stackoverflow.com/survey/ Acessado: 2019-07-23.Google Scholar
- Christoph Treude and Martin P Robillard. 2016. Augmenting api documentation with insights from stack overflow. In 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE). IEEE, 392--403.Google 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
- Zhu Xudong, Meng Xiaoxuan, Xiao Wenshu, Ke Jian, and Xu Lu. 2009. Z-Miner: Noise Filter In Mining Frequent Access Patterns. International Conference on Advanced Communication Technology 05 (2009), 591--595.Google Scholar
Index Terms
- Technical Debt's State of Practice on Stack Overflow: a Preliminary Study
Recommendations
Using Stack Overflow to Assess Technical Debt Identification on Software Projects
SBES '20: Proceedings of the XXXIV Brazilian Symposium on Software EngineeringContext. 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, ...
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 SonarQube-identified technical debt is prioritized: An exploratory case study
Abstract Context:Repaying all technical debt (TD) in a system may be unviable, as there is typically a shortage of resources allocated for TD repayment activities. Therefore, TD prioritization is essential to best allocate such ...
Comments