Shedding Light on How Intelligent Techniques can Support Technical Debt Management and Influence Software Quality Attributes
Technical Debt (TD) is a consequence of decision-making in the development process that can negatively impact Software Quality Attributes (SQA) in the long term. Technical Debt Management (TDM) is a complex task to minimize TD that relies on a decision process based on multiple and heterogeneous data that are not straightforward to synthesize. Recent studies show that Intelligent Techniques can be a promising opportunity to support TDM activities since they explore data for knowledge discovery, reasoning, learning, or supporting decision-making. Although these techniques can improve TDM activities, there is a need to identify and analyze solutions based on Intelligent Techniques to support TDM activities and their impact on SQA. For doing so, a Systematic Mapping Study was performed, covering publications between 2010 and 2020. From 2276 extracted studies, we selected 111 unique studies. We found a positive trend in applying Intelligent Techniques to support TDM activities being Machine Learning and Reasoning Under Uncertainty the most recurrent ones. Design and Code were the most frequently investigated TD types. TDM activities supported by intelligent techniques impact different characteristics of SQA, mainly Maintainability, Reliability, and Security. Although the research area is up-and-coming, it is still in its infancy, and this study provides a baseline for future research.
N. S. Alves, T. S. Mendes, M. G. de Mendonça, R. O. Spínola, F. Shull, and C. Seaman. Identification and management of technical debt: A systematic mapping study. Information and Software Technology, 70:100 - 121, 2016.
A. Ampatzoglou, A. Ampatzoglou, A. Chatzigeorgiou, and P. Avgeriou. The financial aspect of managing technical debt: A systematic literature review. Information and Software Technology, 64:52-73, 2015.
Anonymous. Supplementary Material - SMS on IF for TDM. Dataset. Online available. https://doi.org/10.6084/m9.figshare.12367277.v3 5. 2020.
P. Avgeriou, P. Kruchten, I. Ozkaya, and C. Seaman. Managing technical debt in software engineering (dagstuhl seminar 16162). In Dagstuhl Reports, volume 6. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2016.
M. I. Azeem, F. Palomba, L. Shi, and Q.Wang. Machine learning techniques for code smell detection: A systematic literature review and meta-analysis. Information and Software Technology, 108:115-138, 2019.
W. N. Behutiye, P. Rodríguez, M. Oivo, and A. Tosun. Analyzing the concept of technical debt in the context of agile software development: A systematic literature review. Information and Software Technology, 82:139-158, 2017.
W. Cunningham. The wycash portfolio management system. ACM SIGPLAN OOPS Messenger, 4(2):29-30, 1992.
S. Fabbri, C. Silva, E. Hernandes, F. Octaviano, A. Di Thommazo, and A. Belgamo. Improvements in the start tool to better support the systematic review process. In In Proc. of the 20th Int'l Conf. on Evaluation and Assessment in Soft. Eng., pages 1-5, 2016.
M. Falco and G. Robiolo. Building a catalogue of iso/iec 25010 quality measures applied in an industrial context. In Journal of Physics: Conference Series, volume 1828, page 012077. IOP Publishing, 2021.
R. Feldt, F. G. de Oliveira Neto, and R. Torkar.Ways of applying artificial intelligence in software engineering. In 2018 IEEE/ACM 6th Int'lWorkshop on Realizing Artificial Intelligence Synergies in Soft. Eng (RAISE), pages 35-41. IEEE, 2018.
I. O. for Standardization, S. Technical Committee ISO/IEC JTC 1, Information technology. Subcommittee SC 7, and systems engineering. Systems and Software Engineering: Systems and Software Quality Requirements and Evaluation (SQuaRE): System and Software Quality Models. ISO, 2011.
A. Kaur. A systematic literature review on empirical analysis of the relationship between code smells and software quality attributes. Archives of Computational Methods in Engineering, 27(4):1267-1296, 2020.
B. Kitchenham and P. Brereton. A systematic review of systematic review process research in software engineering. Information and Software Technology, 55(12):2049-2075, 2013.
P. Kumar and S. Singh. An emerging approach to intelligent techniques-soft computing and its application. In Internet of Things and Big Data Applications, pages 171-182. Springer, 2020.
Z. Li, P. Avgeriou, and P. Liang. A systematic mapping study on technical debt and its management. Journal of Systems and Software, 101:193-220, 2015.
M. Perkusich, L. C. e Silva, A. Costa, F. Ramos, R. Saraiva, A. Freire, E. Dilorenzo, E. Dantas, D. Santos, K. Gorgônio, et al. Intelligent software engineering in the context of agile software development: A systematic literature review. Information and Software Technology, 119:106241, 2020.
K. Petersen, R. Feldt, S. Mujtaba, and M. Mattsson. Systematic mapping studies in software engineering. In 12th Int'l Conf. on Evaluation and Assessment in Soft. Eng. (EASE) 12, pages 1-10, 2008.
A. A. Pratama and A. B. Mutiara. Software quality analysis for halodoc application using iso 25010: 2011. International Journal of Advanced Computer Science and Applications, 12(8), 2021.
V. M. Silva, H. J. Junior, and G. H. Travassos. A taste of the software industry perception of technical debt and its management in brazil. Journal of Software Engineering Research and Development, 7:1-1, 2019.
B. W. Sorte, P. P. Joshi, and V. Jagtap. Use of artificial intelligence in software development life cycle: a state of the art review. Int'l Journal of Advanced Eng. and Global Technology, pages 398-403, 2015.
E. Tom, A. Aurum, and R. T. Vidgen. A consolidated understanding of technical debt. In 20th European Conference on Information Systems, ECIS 2012, Barcelona, Spain, June 10-13, 2012, page 16, 2012.
A.-A. Tsintzira, E.-M. Arvanitou, A. Ampatzoglou, and A. Chatzigeorgiou. Applying machine learning in technical debt management: Future opportunities and challenges. In International Conference on the Quality of Information and Communications Technology, pages 53-67. Springer, 2020.
K. Wiegers and J. Beatty. Software requirements. Pearson Education, 2013.
C. Wohlin. Guidelines for snowballing in systematic literature studies and a replication in software engineering. In In Proc of the 18th Int'l Conf. on evaluation and assessment in Soft. Eng, pages 1-10, 2014.
C. Wohlin, P. Runeson, M. Höst, M. C. Ohlsson, B. Regnell, and A. Wesslén. Experimentation in software engineering. Springer Science & Business Media, 2012.