Skip to main content

2025 | OriginalPaper | Buchkapitel

An Automated Approach to Identify Source Code Files Affected by Architectural Technical Debt

verfasst von : Armando Sousa, Lincoln Rocha, Ricardo Britto, Guilherme Avelino

Erschienen in: Product-Focused Software Process Improvement. Industry-, Workshop-, and Doctoral Symposium Papers

Verlag: Springer Nature Switzerland

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Architectural Technical Debt (ATD) is a persistent challenge in software development, often hindered by the absence of comprehensive architectural documentation. This research presents an automated approach to detect source code files indicative of ATD within a version control system. By analyzing code metrics, change history, and architectural smells, we identify files exhibiting signs of increasing complexity and maintenance effort. Our method was applied to the Apache Cassandra repository and validated through interviews with Ericsson developers. Results indicate a strong correlation between files with specific architectural smells, frequent modifications, and growing complexity, and the presence of ATD. This study demonstrates the feasibility of using source code analysis to systematically identify potential architectural issues, aiding developers in prioritizing refactoring efforts and improving software quality.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Literatur
1.
Zurück zum Zitat Agrawal, A., Singh, R.K.: Identification of co-change patterns in software evolution. In: 2020 8th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO), pp. 781–785. IEEE (2020) Agrawal, A., Singh, R.K.: Identification of co-change patterns in software evolution. In: 2020 8th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO), pp. 781–785. IEEE (2020)
2.
Zurück zum Zitat Aniche, M., Bavota, G., Treude, C., Gerosa, M.A., van Deursen, A.: Code smells for model-view-controller architectures. Empir. Softw. Eng. 23(4), 2121–2157 (2018)CrossRef Aniche, M., Bavota, G., Treude, C., Gerosa, M.A., van Deursen, A.: Code smells for model-view-controller architectures. Empir. Softw. Eng. 23(4), 2121–2157 (2018)CrossRef
3.
Zurück zum Zitat Besker, T., Martini, A., Bosch, J.: Managing architectural technical debt: a unified model and systematic literature review. J. Syst. Softw. 135, 1–16 (2018)CrossRef Besker, T., Martini, A., Bosch, J.: Managing architectural technical debt: a unified model and systematic literature review. J. Syst. Softw. 135, 1–16 (2018)CrossRef
4.
Zurück zum Zitat Biaggi, A., Fontana, F.A., Roveda, R.: An architectural smells detection tool for C and C++ projects. In: 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 417–420. IEEE (2018) Biaggi, A., Fontana, F.A., Roveda, R.: An architectural smells detection tool for C and C++ projects. In: 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 417–420. IEEE (2018)
5.
Zurück zum Zitat Britto, R., Smite, D., Damm, L.O.: Software architects in large-scale distributed projects: an Ericsson case study. IEEE Softw. 33(6), 48–55 (2016)CrossRef Britto, R., Smite, D., Damm, L.O.: Software architects in large-scale distributed projects: an Ericsson case study. IEEE Softw. 33(6), 48–55 (2016)CrossRef
6.
Zurück zum Zitat Canfora, G., Cerulo, L., Di Penta, M.: Identifying changed source code lines from version repositories. In: Fourth International Workshop on Mining Software Repositories (MSR 2007: ICSE Workshops 2007), p. 14. IEEE (2007) Canfora, G., Cerulo, L., Di Penta, M.: Identifying changed source code lines from version repositories. In: Fourth International Workshop on Mining Software Repositories (MSR 2007: ICSE Workshops 2007), p. 14. IEEE (2007)
7.
Zurück zum Zitat Cunningham, W.: The WyCash portfolio management system. In: Addendum to the Proceedings on Object-oriented Programming Systems, Languages, and Applications (Addendum), pp. 29–30, OOPSLA 1992. ACM, New York, NY, USA (1992) Cunningham, W.: The WyCash portfolio management system. In: Addendum to the Proceedings on Object-oriented Programming Systems, Languages, and Applications (Addendum), pp. 29–30, OOPSLA 1992. ACM, New York, NY, USA (1992)
8.
Zurück zum Zitat Fontana, F.A., Pigazzini, I., Roveda, R., Tamburri, D., Zanoni, M., Di Nitto, E.: Arcan: a tool for architectural smells detection. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 282–285. IEEE (2017) Fontana, F.A., Pigazzini, I., Roveda, R., Tamburri, D., Zanoni, M., Di Nitto, E.: Arcan: a tool for architectural smells detection. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 282–285. IEEE (2017)
9.
Zurück zum Zitat Fontana, F.A., Roveda, R., Zanoni, M.: Tool support for evaluating architectural debt of an existing system: an experience report. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC 2016, pp. 1347–1349. Association for Computing Machinery, New York, NY, USA (2016) Fontana, F.A., Roveda, R., Zanoni, M.: Tool support for evaluating architectural debt of an existing system: an experience report. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, SAC 2016, pp. 1347–1349. Association for Computing Machinery, New York, NY, USA (2016)
10.
Zurück zum Zitat Graylin, J., et al.: Cyclomatic complexity and lines of code: empirical evidence of a stable linear relationship. J. Softw. Eng. Appl. 2(03), 137 (2009)CrossRef Graylin, J., et al.: Cyclomatic complexity and lines of code: empirical evidence of a stable linear relationship. J. Softw. Eng. Appl. 2(03), 137 (2009)CrossRef
11.
Zurück zum Zitat Holvitie, J., Leppanen, V., Hyrynsalmi, S.: Technical debt and the effect of agile software development practices on it-an industry practitioner survey. In: 2014 Sixth International Workshop on Managing Technical Debt, pp. 35–42. IEEE (2014) Holvitie, J., Leppanen, V., Hyrynsalmi, S.: Technical debt and the effect of agile software development practices on it-an industry practitioner survey. In: 2014 Sixth International Workshop on Managing Technical Debt, pp. 35–42. IEEE (2014)
12.
Zurück zum Zitat Kruchten, P., Nord, R., Ozkaya, I.: Managing Technical Debt: Reducing Friction in Software Development. Addison-Wesley Professional (2019) Kruchten, P., Nord, R., Ozkaya, I.: Managing Technical Debt: Reducing Friction in Software Development. Addison-Wesley Professional (2019)
13.
Zurück zum Zitat Li, Z., Liang, P., 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. IEEE (2015) Li, Z., Liang, P., 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. IEEE (2015)
14.
Zurück zum Zitat Ludwig, J., Xu, S., Webber, F.: Compiling static software metrics for reliability and maintainability from GitHub repositories. In: 2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC), pp. 5–9. IEEE (2017) Ludwig, J., Xu, S., Webber, F.: Compiling static software metrics for reliability and maintainability from GitHub repositories. In: 2017 IEEE International Conference on Systems, Man, and Cybernetics (SMC), pp. 5–9. IEEE (2017)
15.
Zurück zum Zitat Martini, A., Bosch, J.: Towards prioritizing architecture technical debt: information needs of architects and product owners. In: 2015 41St Euromicro Conference on Software Engineering and Advanced Applications, pp. 422–429. IEEE (2015) Martini, A., Bosch, J.: Towards prioritizing architecture technical debt: information needs of architects and product owners. In: 2015 41St Euromicro Conference on Software Engineering and Advanced Applications, pp. 422–429. IEEE (2015)
16.
Zurück zum Zitat Martini, A., Bosch, J.: On the interest of architectural technical debt: uncovering the contagious debt phenomenon. J. Softw. Evol. Process 29(10), e1877 (2017)CrossRef Martini, A., Bosch, J.: On the interest of architectural technical debt: uncovering the contagious debt phenomenon. J. Softw. Evol. Process 29(10), e1877 (2017)CrossRef
17.
Zurück zum Zitat Martini, A., Bosch, J., Chaudron, M.: Investigating architectural technical debt accumulation and refactoring over time: a multiple-case study. Inf. Softw. Technol. 67, 237–253 (2015)CrossRef Martini, A., Bosch, J., Chaudron, M.: Investigating architectural technical debt accumulation and refactoring over time: a multiple-case study. Inf. Softw. Technol. 67, 237–253 (2015)CrossRef
18.
Zurück zum Zitat Martini, A., Fontana, F.A., Biaggi, A., Roveda, R.: Identifying and prioritizing architectural debt through architectural smells: a case study in a large software company. In: Cuesta, C.E., Garlan, D., Pérez, J. (eds.) Software Architecture, pp. 320–335. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-00761-4_21 Martini, A., Fontana, F.A., Biaggi, A., Roveda, R.: Identifying and prioritizing architectural debt through architectural smells: a case study in a large software company. In: Cuesta, C.E., Garlan, D., Pérez, J. (eds.) Software Architecture, pp. 320–335. Springer, Cham (2018). https://​doi.​org/​10.​1007/​978-3-030-00761-4_​21
19.
Zurück zum Zitat McCabe, T.: A complexity measure. IEEE Trans. Softw. Engineering SE-2(4), 308–320 (1976) McCabe, T.: A complexity measure. IEEE Trans. Softw. Engineering SE-2(4), 308–320 (1976)
20.
Zurück zum Zitat Offermann, P., Levina, O., Schönherr, M., Bub, U.: Outline of a design science research process. In: Proceedings of the 4th International Conference on Design Science Research in Information Systems and Technology, DESRIST 2009. Association for Computing Machinery, New York, NY, USA (2009) Offermann, P., Levina, O., Schönherr, M., Bub, U.: Outline of a design science research process. In: Proceedings of the 4th International Conference on Design Science Research in Information Systems and Technology, DESRIST 2009. Association for Computing Machinery, New York, NY, USA (2009)
21.
Zurück zum Zitat Roveda, R., Fontana, F.A., Pigazzini, I., Zanoni, M.: Towards an architectural debt index. In: 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 408–416. IEEE (2018) Roveda, R., Fontana, F.A., Pigazzini, I., Zanoni, M.: Towards an architectural debt index. In: 2018 44th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 408–416. IEEE (2018)
22.
Zurück zum Zitat Runeson, P., Host, M., Rainer, A., Regnell, B.: Case Study Research in Software Engineering: Guidelines and Examples. Wiley, New York (2012) Runeson, P., Host, M., Rainer, A., Regnell, B.: Case Study Research in Software Engineering: Guidelines and Examples. Wiley, New York (2012)
23.
Zurück zum Zitat Sas, D., Avgeriou, P., Fontana, F.A.: Investigating instability architectural smells evolution: an exploratory case study. In: 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 557–567. IEEE (2019) Sas, D., Avgeriou, P., Fontana, F.A.: Investigating instability architectural smells evolution: an exploratory case study. In: 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 557–567. IEEE (2019)
24.
Zurück zum Zitat Sas, D., Avgeriou, P., Pigazzini, I., Arcelli Fontana, F.: On the relation between architectural smells and source code changes. J. Softw. Evol. Process 34(1), e2398 (2022)CrossRef Sas, D., Avgeriou, P., Pigazzini, I., Arcelli Fontana, F.: On the relation between architectural smells and source code changes. J. Softw. Evol. Process 34(1), e2398 (2022)CrossRef
25.
Zurück zum Zitat Sharma, T., Singh, P., Spinellis, D.: An empirical investigation on the relationship between design and architecture smells. Empirical Softw. Eng. 25(5), 4020–4068 (2020) Sharma, T., Singh, P., Spinellis, D.: An empirical investigation on the relationship between design and architecture smells. Empirical Softw. Eng. 25(5), 4020–4068 (2020)
26.
Zurück zum Zitat Sousa, A., Rocha, L., Britto, R.: Architectural technical debt - a systematic mapping study. In: Proceedings of the XXXVII Brazilian Symposium on Software Engineering, SBES 2023, pp. 196–205. Association for Computing Machinery, New York, NY, USA (2023) Sousa, A., Rocha, L., Britto, R.: Architectural technical debt - a systematic mapping study. In: Proceedings of the XXXVII Brazilian Symposium on Software Engineering, SBES 2023, pp. 196–205. Association for Computing Machinery, New York, NY, USA (2023)
27.
Zurück zum Zitat Sousa, A., Rocha, L., Britto, R., Gong, Z., Lyu, F.: Technical debt in large-scale distributed projects: an industrial case study. In: 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 590–594. IEEE (2021) Sousa, A., Rocha, L., Britto, R., Gong, Z., Lyu, F.: Technical debt in large-scale distributed projects: an industrial case study. In: 2021 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 590–594. IEEE (2021)
28.
Zurück zum Zitat de Toledo, S.S., Martini, A., Sjoberg, D.I.: Identifying architectural technical debt, principal, and interest in microservices: a multiple-case study. J. Syst. Softw. 177, 110968 (2021)CrossRef de Toledo, S.S., Martini, A., Sjoberg, D.I.: Identifying architectural technical debt, principal, and interest in microservices: a multiple-case study. J. Syst. Softw. 177, 110968 (2021)CrossRef
29.
Zurück zum Zitat Verdecchia, R.: Identifying architectural technical debt in android applications through automated compliance checking. In: 2018 IEEE/ACM 5th International Conference on Mobile Software Engineering and Systems (MOBILESoft), pp. 35–36. IEEE (2018) Verdecchia, R.: Identifying architectural technical debt in android applications through automated compliance checking. In: 2018 IEEE/ACM 5th International Conference on Mobile Software Engineering and Systems (MOBILESoft), pp. 35–36. IEEE (2018)
30.
Zurück zum Zitat Verdecchia, R., Malavolta, I., Lago, P.: Architectural technical debt identification: the research landscape. In: Proceedings of the 2018 International Conference on Technical Debt, TechDebt 2018, pp. 11–20. Association for Computing Machinery, New York, NY, USA (2018) Verdecchia, R., Malavolta, I., Lago, P.: Architectural technical debt identification: the research landscape. In: Proceedings of the 2018 International Conference on Technical Debt, TechDebt 2018, pp. 11–20. Association for Computing Machinery, New York, NY, USA (2018)
32.
Zurück zum Zitat Xiao, L., Cai, Y., Kazman, R., Mo, R., Feng, Q.: Identifying and quantifying architectural debt. In: 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE), pp. 488–498. IEEE (2016) Xiao, L., Cai, Y., Kazman, R., Mo, R., Feng, Q.: Identifying and quantifying architectural debt. In: 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE), pp. 488–498. IEEE (2016)
Metadaten
Titel
An Automated Approach to Identify Source Code Files Affected by Architectural Technical Debt
verfasst von
Armando Sousa
Lincoln Rocha
Ricardo Britto
Guilherme Avelino
Copyright-Jahr
2025
DOI
https://doi.org/10.1007/978-3-031-78392-0_7