Technical Debt Tools: A Systematic Mapping Study
Proceedings of the 23rd International Conference on Enterprise Information Systems
https://doi.org/10.5220/0010459100880098Abstract
Context: The concept of technical debt is a metaphor that contextualizes problems faced during software evolution that reflect technical compromises in tasks that are not carried out adequately during their development-they can yield short-term benefit to the project in terms of increased productivity and lower cost, but that may have to be paid off with interest later. Objective: This work investigates the current state of the art of technical debt tools by identifying which activities, functionalities and kind of technical debt are handled by existing tools that support the technical debt management in software projects. Method: A systematic mapping study is performed to identify and analyze available tools for managing technical debt based on a set of five research questions. Results: The work contributes with (i) a systematic mappping of current research on the field, (ii) a highlight of the most referenced tools, their main characteristics, their supported technical debt types and activities, and (iii) a discussion of emerging findings and implications for future research. Conclusions: Our study identified 50 TD tools where 42 of them are new tools, and 8 tools extend an existing one. Most of the tools address technical debt related to code, design, and/or architecture artifacts. Besides, the different TD management activities received different levels of attention. For example, TD identification is supported by 80% of the tools, whereas 30% of them handle the TD documentation activity. Tools that deal with TD identification and measurement activities are still predominant. However, we observed that recent tools focusing on TD prevention, replacement, and prioritization activities represent emergent research trends.
References (28)
- code properties -28.00% (14) Architectural smell detection -14.00% (7) Pattern matching -12.00% (6) Cost benefit analysis -12.00% (6) Project management -6.00% (3) Code smell detection -6.00% (3) Gamification -4.00% (2) Checking code standards -4.00% (2) Calculating Architectural metrics -4.00% (2) Quantifying model metrics -4.00% (2) Decision-making -4.00% (2) Requirements issues -2.00% (1) REFERENCES
- Allman, E. (2012). Managing technical debt. Commun. ACM, 55(5):50-55.
- Alves, N. S. et al. (2016). Identification and management of technical debt: A systematic mapping study. Infor- mation and Software Technology, 70:100 -121.
- Ampatzoglou, A. et al. (2015). The financial aspect of man- aging technical debt: A systematic literature review. Information and Software Technology, 64:52-73.
- Apa, C. et al. (2020). The perception and management of technical debt in software startups. In Fundamen- tals of Software Startups: Essential Engineering and Business Aspects, pages 61-78. Springer International Publishing, Cham.
- Avgeriou, P. et al. (2016). Managing technical debt in soft- ware engineering (dagstuhl seminar 16162). Dagstuhl Reports, 6(4):110-138.
- Avgeriou, P. et al. (2020). An overview and comparison of technical debt measurement tools. IEEE Software.
- Behutiye, W. N. et al. (2017). Analyzing the concept of technical debt in the context of agile software devel- opment: A systematic literature review. Information and Software Technology, 82:139-158.
- Foucault, M. et al. (2018). Gamification: a game changer for managing technical debt? A design study. CoRR, abs/1802.02693.
- Giraldo, F. D. and Osorio, F. (2017). Evaluating quality is- sues in BPMN models by extending a technical debt software platform. In International Conference on Conceptual Modeling, pages 205-215.
- Guo, Y. et al. (2016). Exploring the costs of technical debt management -a case study. Empirical Softw. Engg., 21(1):159-182.
- Kitchenham, B. and Charters, S. (2007). Guidelines for per- forming systematic literature reviews in software en- gineering. Technical report, Technical report, Ver. 2.3 EBSE Technical Report. EBSE.
- Kouros, P. et al. (2019). JCaliper: search-based techni- cal debt management. In Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, SAC '19, pages 1721-1730. Association for Comput- ing Machinery.
- Lenarduzzi, V. et al. (2019). Technical debt prioritization: State of the art. A systematic literature review. CoRR, abs/1904.12538.
- Li, Z. et al. (2015). A systematic mapping study on techni- cal debt and its management. Journal of Systems and Software, 101:193 -220.
- Mamun, M. et al. (2019). Evolution of technical debt: An exploratory study. In International Workshop on Soft- ware Measurement and International Conference on Software Process and Product Measurement (IWSM Mensura), volume 2476, pages 87-102.
- Martini, A., Bosch, J., and Chaudron, M. (2015). Inves- tigating architectural technical debt accumulation and refactoring over time: A multiple-case study. Infor- mation and Software Technology, 67:237 -253.
- Pavlič, L. and Hliš, T. (2019). The technical debt manage- ment tools comparison. In Eighth Workshop on Soft- ware Quality Analysis, Monitoring, Improvement, and Applications, pages 10:1--10:9.
- Petersen, K. et al. (2015). Guidelines for conducting sys- tematic mapping studies in software engineering: An update. Information and Software Technology, 64:1 - 18.
- Riegel, N. and Doerr, J. (2015). A systematic literature re- view of requirements prioritization criteria. In Fricker, S. A. and Schneider, K., editors, Requirements Engi- neering: Foundation for Software Quality, pages 300- 317, Cham. Springer International Publishing.
- Rios, N. et al. (2018). A study of factors that lead development teams to incur technical debt in soft- ware projects. In 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pages 429-436.
- Rios, N. et al. (2018). A tertiary study on technical debt: Types, management strategies, research trends, and base information for practitioners. Information and Software Technology, 102:117-145.
- Seaman, C. and Guo, Y. (2011). Measuring and monitoring technical debt. In Zelkowitz, M. V., editor, Advances in Computers, volume 82 of Advances in Computers, pages 25 -46. Elsevier.
- Suryanarayana, G. et al. (2015). Chapter 8 -repaying technical debt in practice. In Suryanarayana, G., Samarthyam, G., and Sharma, T., editors, Refactoring for Software Design Smells, pages 203 -212. Morgan Kaufmann, Boston.
- Verdecchia, R. et al. (2018). Architectural technical debt identification: The research landscape. In Proceed- ings of the 2018 International Conference on Techni- cal Debt, TechDebt '18, page 11-20, New York, NY, USA. Association for Computing Machinery.
- Wieringa, R. et al. (2005). Requirements engineering paper classification and evaluation criteria: A proposal and a discussion. Requir. Eng., 11(1):102-107.
- Wohlin, C. et al. (2012). Experimentation in software engi- neering. Springer Science & Business Media.
- Yli-Huumo, J. et al. (2016). How do software development teams manage technical debt? -an empirical study. Journal of Systems and Software, 120:195-218.