Skip to main content

A Semiautomatic Approach to Identify Architectural Technical Debt from Heterogeneous Artifacts

  • Conference paper
  • First Online:
Software Architecture (ECSA 2020)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1269))

Included in the following conference series:

Abstract

Architectural Technical Debt (ATD) is a metaphor used to describe decisions taken by software architects to accomplish short-term goals but possibly negatively affecting the long-term health of the system. However, ATD doesn’t receive enough attention for the architect teams because it is hard to identify, to measure, to prioritize, and its value is related to long-term maintenance and evolution of a system. In this research, we propose a model-driven approach that focuses on building a binary classification model for ATD identification based on the information gathered from artifacts produced during architecture design. This model will allow software architects to support the managing of conscious and unconscious ATD in their software projects. This proposal focuses on TD at the architecture-level only without considering source code. The effectiveness of this proposal will be evaluated using case studies and expert interviews.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    (Meta)model of Eclipse Modeling Framework (EMF).

References

  1. Alves, N.S., Mendes, T.S., de Mendonça, M.G., Spínola, R.O., Shull, F., Seaman, C.: Identification and management of technical debt: a systematic mapping study. Inf. Softw. Technol. 70, 100–121 (2016)

    Article  Google Scholar 

  2. Avgeriou, P., Kruchten, P., Ozkaya, I., Seaman, C.: Managing technical debt in software engineering (dagstuhl seminar 16162). In: Dagstuhl Reports. No. 4, Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2016)

    Google Scholar 

  3. Besker, T., Martini, A., Bosch, J.: Managing architectural technical debt: a unified model and systematic literature review. J. Syst. Softw. 135, 1–16 (2018)

    Article  Google Scholar 

  4. Bogner, A., Menz, W.: The theory-generating expert interview: epistemological interest, forms of knowledge, interaction. Interviewing Experts, pp. 43–80. Palgrave Macmillan, UK, London (2009). https://doi.org/10.1057/9780230244276_3

    Chapter  Google Scholar 

  5. Brondum, J., Zhu, L.: Visualising architectural dependencies. In: 2012 Third International Workshop on Managing Technical Debt (MTD), pp. 7–14 (June 2012)

    Google Scholar 

  6. Díaz-Pace, J.A., Tommasel, A., Godoy, D.: Towards anticipation of architectural smells using link prediction techniques. In: 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 62–71. IEEE (2018)

    Google Scholar 

  7. Ernst, N.A., Bellomo, S., Ozkaya, I., Nord, R.L., Gorton, I.: Measure it? manage it? ignore it? software practitioners and technical debt. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, pp. 50–60. ESEC/FSE 2015, ACM, New York, USA (2015)

    Google Scholar 

  8. Falessi, D., Cantone, G., Kazman, R., Kruchten, P.: Decision-making techniques for software architecture design: a comparative survey. ACM Comput. Surv. (CSUR) 43(4), 33 (2011)

    Article  Google Scholar 

  9. Freire, S., et al.: 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, pp. 210–219. EASE 2020, Association for Computing Machinery, New York, USA (2020)

    Google Scholar 

  10. Kitchenham, B., Brereton, O.P., Budgen, D., Turner, M., Bailey, J., Linkman, S.: Systematic literature reviews in software engineering - a systematic literature review. Inf. Softw. Technol. 51(1), 7–15 (2009)

    Article  Google Scholar 

  11. Kruchten, P.: Strategic management of technical debt: tutorial synopsis. In: 2012 12th International Conference on Quality Software, pp. 282–284 (August 2012)

    Google Scholar 

  12. Li, Z., Avgeriou, P., Liang, P.: A systematic mapping study on technical debt and its management. J. Syst. Softw. 101, 193–220 (2015)

    Article  Google Scholar 

  13. Li, Z., Liang, P., Avgeriou, P.: Chapter 9- architectural debt management in value-oriented architecting. In: Economics-Driven Software Architecture, pp. 183–204. Morgan Kaufmann, Boston (2014)

    Google Scholar 

  14. Li, Z., Liang, P., Avgeriou, P.: Chapter 5- architecture viewpoints for documenting architectural technical debt. In: Software Quality Assurance, pp. 85–132. Morgan Kaufmann, Boston (2016)

    Google Scholar 

  15. Li, Z., Liang, P., Avgeriou, P., Guelfi, N., Ampatzoglou, A.: An empirical investigation of modularity metrics for indicating architectural technical debt. In: Proceedings of the 10th International ACM Sigsoft Conference on Quality of Software Architectures, pp. 119–128. QoSA 2014, ACM, New York, USA (2014)

    Google Scholar 

  16. Marinescu, R.: Assessing technical debt by identifying design flaws in software systems. IBM J. Res. Dev. 56(5), 1–9 (2012)

    Article  Google Scholar 

  17. Martini, A., Besker, T., Bosch, J.: The introduction of technical debt tracking in large companies. In: 2016 23rd Asia-Pacific Software Engineering Conference (APSEC), pp. 161–168 (December 2016)

    Google Scholar 

  18. Martini, A., Sikander, E., Madlani, N.: A semi-automated framework for the identification and estimation of architectural technical debt: a comparative case-study on the modularization of a software component. Inf. Softw. Technol. 93, 264–279 (2018)

    Article  Google Scholar 

  19. Nord, R.L., Ozkaya, I., Sangwan, R.S., Koontz, R.J.: Architectural dependency analysis to understand rework costs for safety-critical systems. In: Companion Proceedings of the 36th International Conference on Software Engineering, pp. 185–194. ICSE Companion 2014, ACM, New York, USA (2014)

    Google Scholar 

  20. Pérez, B., et al.: What are the practices used by software practitioners on technical debt payment? results from an international family of surveys. In: To appear in the Proceedings of the 3rd International Conference on Technical Debt. TechDebt, ACM (2020)

    Google Scholar 

  21. Pérez, B., et al.: Familiarity, causes and reactions of software practitioners to the presence of technical debt: a replicated study in the chilean software industry. In: 2019 38th International Conference of the Chilean Computer Science Society (SCCC), pp. 1–7 (2019)

    Google Scholar 

  22. Rios, N., et al.: Hearing the voice of software practitioners on causes, effects, and practices to deal with documentation debt. In: Madhavji, N., Pasquale, L., Ferrari, A., Gnesi, S. (eds.) REFSQ 2020. LNCS, vol. 12045, pp. 55–70. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-44429-7_4

    Chapter  Google Scholar 

  23. Rios, N., Mendonça, M.G., Seaman, C., Spinola, R.O.: Causes and effects of the presence of technical debt in agile software projects (2019)

    Google Scholar 

  24. Rios, N., Spínola, R.O., Mendonça, M., Seaman, C.: 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, p. 39. ACM (2018)

    Google Scholar 

  25. Verdecchia, R., Malavolta, I., Lago, P.: Architectural technical debt identification: the research landscape. In: International Conference on Technical Debt (TechDebt) (2018)

    Google Scholar 

  26. Xiao, L., Cai, Y., Kazman, R., Mo, R., Feng, Q.: Identifying and quantifying architectural debt. In: Proceedings of the 38th International Conference on Software Engineering, pp. 488–498. ICSE 2016, ACM, New York, USA (2016)

    Google Scholar 

  27. Zengyang Li, P.L., Avgeriou, P.: Architectural technical debt identification based on architecture decisions and change scenarios. In: 2015 12th Working IEEE/IFIP Conference on Software Architecture, pp. 65–74 (May 2015)

    Google Scholar 

Download references

Acknowledgments

The author is working under the supervision of Prof. Darío Correal.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Boris Pérez .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Pérez, B. (2020). A Semiautomatic Approach to Identify Architectural Technical Debt from Heterogeneous Artifacts. In: Muccini, H., et al. Software Architecture. ECSA 2020. Communications in Computer and Information Science, vol 1269. Springer, Cham. https://doi.org/10.1007/978-3-030-59155-7_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-59155-7_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-59154-0

  • Online ISBN: 978-3-030-59155-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics