Skip to main content

2018 | OriginalPaper | Buchkapitel

Identifying and Prioritizing Architectural Debt Through Architectural Smells: A Case Study in a Large Software Company

verfasst von : Antonio Martini, Francesca Arcelli Fontana, Andrea Biaggi, Riccardo Roveda

Erschienen in: Software Architecture

Verlag: Springer International Publishing

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

search-config
loading …

Abstract

Architectural technical debt can have a huge impact on software maintainability and evolution. Hence, different architectural violations, detected as architectural smells, need to be identified and refactored. In this paper, we conducted a multiple case-study on several architectural smells detected in four industrial projects. We conducted an in-depth investigation with a questionnaire, interviews and thorough inspection of the code with the practitioners. We evaluated the negative impact of the technical debt detected by the architectural smells, their difficulty to be refactored and the usefulness of the detection tool. The results show that practitioners appreciated the help of automatic detection, and that they prioritize refactoring architectural debt that causes more negative impact despite the higher refactoring effort.

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 Besker, T., Martini, A., Bosch, J.: The pricey bill of technical debt: when and by whom will it be paid? In: 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 13–23, September 2017 Besker, T., Martini, A., Bosch, J.: The pricey bill of technical debt: when and by whom will it be paid? In: 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME), pp. 13–23, September 2017
5.
Zurück zum Zitat Arcelli Fontana, F., Pigazzini, I., Roveda, R., Tamburri, D.A., Zanoni, M., Nitto, E.D.: Arcan: a tool for architectural smells detection. In: International Conference Software Architecture (ICSA 2017) Workshops, Sweden, Gothenburg, pp. 282–285 (2017) Arcelli Fontana, F., Pigazzini, I., Roveda, R., Tamburri, D.A., Zanoni, M., Nitto, E.D.: Arcan: a tool for architectural smells detection. In: International Conference Software Architecture (ICSA 2017) Workshops, Sweden, Gothenburg, pp. 282–285 (2017)
6.
Zurück zum Zitat Kazman, R., et al.: A case study in locating the architectural roots of technical debt. In: Proceedings of the 37th IEEE International Conference on Software Engineering (ICSE 2015), vol. 2, pp. 179–188 (2015) Kazman, R., et al.: A case study in locating the architectural roots of technical debt. In: Proceedings of the 37th IEEE International Conference on Software Engineering (ICSE 2015), vol. 2, pp. 179–188 (2015)
7.
Zurück zum Zitat Martini, A., Bosch, J.: An empirically developed method to aid decisions on architectural technical debt refactoring: AnaConDebt. In: Proceedings of the 38th International Conference on Software Engineering, ICSE 2016, Austin, TX, USA, 14–22 May 2016, Companion Volume, pp. 31–40 (2016) Martini, A., Bosch, J.: An empirically developed method to aid decisions on architectural technical debt refactoring: AnaConDebt. In: Proceedings of the 38th International Conference on Software Engineering, ICSE 2016, Austin, TX, USA, 14–22 May 2016, Companion Volume, pp. 31–40 (2016)
8.
Zurück zum Zitat 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(Suppl. C), 264–279 (2018)CrossRef 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(Suppl. C), 264–279 (2018)CrossRef
9.
Zurück zum Zitat Yamashita, A.F., Moonen, L.: Do developers care about code smells? An exploratory survey. In: 20th Working Conference on Reverse Engineering, WCRE 2013, Germany, pp. 242–251 (2013) Yamashita, A.F., Moonen, L.: Do developers care about code smells? An exploratory survey. In: 20th Working Conference on Reverse Engineering, WCRE 2013, Germany, pp. 242–251 (2013)
10.
Zurück zum Zitat Soh, Z., Yamashita, A., Khomh, F., Guéhéneuc, Y.: Do code smells impact the effort of different maintenance programming activities? In: IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016, Suita, Osaka, Japan, 14–18 March 2016, vol. 1, pp. 393–402 (2016) Soh, Z., Yamashita, A., Khomh, F., Guéhéneuc, Y.: Do code smells impact the effort of different maintenance programming activities? In: IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016, Suita, Osaka, Japan, 14–18 March 2016, vol. 1, pp. 393–402 (2016)
11.
Zurück zum Zitat Yamashita, A.: Assessing the capability of code smells to explain maintenance problems: an empirical study combining quantitative and qualitative data. Empir. Softw. Eng. 19(4), 1111–1143 (2014)CrossRef Yamashita, A.: Assessing the capability of code smells to explain maintenance problems: an empirical study combining quantitative and qualitative data. Empir. Softw. Eng. 19(4), 1111–1143 (2014)CrossRef
12.
Zurück zum Zitat Palomba, F., Bavota, G., Penta, M.D., Oliveto, R., Lucia, A.D.: Do they really smell bad? A study on developers’ perception of bad code smells. In: 30th IEEE International Conference on Software Maintenance and Evolution, Victoria, BC, Canada, 29 September–3 October 2014, pp. 101–110 (2014) Palomba, F., Bavota, G., Penta, M.D., Oliveto, R., Lucia, A.D.: Do they really smell bad? A study on developers’ perception of bad code smells. In: 30th IEEE International Conference on Software Maintenance and Evolution, Victoria, BC, Canada, 29 September–3 October 2014, pp. 101–110 (2014)
13.
Zurück zum Zitat Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14(2), 131–164 (2009)CrossRef Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14(2), 131–164 (2009)CrossRef
14.
Zurück zum Zitat Martini, A., Bosch, J.: The magnificent seven: towards a systematic estimation of technical debt interest. In: Proceedings of the XP 2017 Scientific Workshops, XP 2017, pp. 7:1–7:5. ACM, New York (2017) Martini, A., Bosch, J.: The magnificent seven: towards a systematic estimation of technical debt interest. In: Proceedings of the XP 2017 Scientific Workshops, XP 2017, pp. 7:1–7:5. ACM, New York (2017)
15.
Zurück zum Zitat Lippert, M., Roock, S.: Refactoring in Large Software Projects: Performing Complex Restructurings Successfully. Wiley, Hoboken (2006) Lippert, M., Roock, S.: Refactoring in Large Software Projects: Performing Complex Restructurings Successfully. Wiley, Hoboken (2006)
16.
Zurück zum Zitat Macia, I., Arcoverde, R., Cirilo, E., Garcia, A., von Staa, A.: Supporting the identification of architecturally-relevant code anomalies. In: Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM 2012), Italy, pp. 662–665. IEEE (2012) Macia, I., Arcoverde, R., Cirilo, E., Garcia, A., von Staa, A.: Supporting the identification of architecturally-relevant code anomalies. In: Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM 2012), Italy, pp. 662–665. IEEE (2012)
17.
Zurück zum Zitat Arcelli Fontana, F., Pigazzini, I., Roveda, R., Zanoni, M.: Automatic detection of instability architectural smells. In: Proceedings of the 32nd International Conference on Software Maintenance and Evolution (ICSME 2016), Raleigh, North Carolina, USA, ERA Track. IEEE, October 2016 Arcelli Fontana, F., Pigazzini, I., Roveda, R., Zanoni, M.: Automatic detection of instability architectural smells. In: Proceedings of the 32nd International Conference on Software Maintenance and Evolution (ICSME 2016), Raleigh, North Carolina, USA, ERA Track. IEEE, October 2016
18.
Zurück zum Zitat Al-Mutawa, H.A., Dietrich, J., Marsland, S., McCartin, C.: On the shape of circular dependencies in java programs. In: Proceedings of 23rd Australian Software Engineering Conference (ASWEC 2014), Sydney, Australia, pp. 48–57. IEEE, April 2014 Al-Mutawa, H.A., Dietrich, J., Marsland, S., McCartin, C.: On the shape of circular dependencies in java programs. In: Proceedings of 23rd Australian Software Engineering Conference (ASWEC 2014), Sydney, Australia, pp. 48–57. IEEE, April 2014
19.
Zurück zum Zitat Roveda, R.: Identifying and evaluating software architecture erosion. Ph.D. thesis, Università degli studi di Milano - Bicocca, May 2012 Roveda, R.: Identifying and evaluating software architecture erosion. Ph.D. thesis, Università degli studi di Milano - Bicocca, May 2012
20.
Zurück zum Zitat Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)MATH Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston (1999)MATH
23.
Zurück zum Zitat ISO - International Organization for Standardization: System and software quality models (2015) ISO - International Organization for Standardization: System and software quality models (2015)
24.
Zurück zum Zitat Arcelli Fontana, F., Roveda, R., Vittori, S., Metelli, A., Saldarini, S., Mazzei, F.: On evaluating the impact of the refactoring of architectural problems on software quality. In: Proceedings of the Scientific Workshop Proceedings of XP 2016, Edinburgh, Scotland, UK, 24 May 2016, p. 21 (2016) Arcelli Fontana, F., Roveda, R., Vittori, S., Metelli, A., Saldarini, S., Mazzei, F.: On evaluating the impact of the refactoring of architectural problems on software quality. In: Proceedings of the Scientific Workshop Proceedings of XP 2016, Edinburgh, Scotland, UK, 24 May 2016, p. 21 (2016)
25.
Zurück zum Zitat Roveda, R., Arcelli Fontana, F., Pigazzini, I., Zanoni, M.: Towards an architectural debt index. In: Proceedings of the Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Technical Debt track, Prague, Czech Republic. IEEE, August 2018 Roveda, R., Arcelli Fontana, F., Pigazzini, I., Zanoni, M.: Towards an architectural debt index. In: Proceedings of the Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Technical Debt track, Prague, Czech Republic. IEEE, August 2018
26.
Zurück zum Zitat Garcia, J., Popescu, D., Edwards, G., Medvidovic, N.: Identifying architectural bad smells. In: CSMR 2009, Germany, pp. 255–258. IEEE (2009) Garcia, J., Popescu, D., Edwards, G., Medvidovic, N.: Identifying architectural bad smells. In: CSMR 2009, Germany, pp. 255–258. IEEE (2009)
Metadaten
Titel
Identifying and Prioritizing Architectural Debt Through Architectural Smells: A Case Study in a Large Software Company
verfasst von
Antonio Martini
Francesca Arcelli Fontana
Andrea Biaggi
Riccardo Roveda
Copyright-Jahr
2018
DOI
https://doi.org/10.1007/978-3-030-00761-4_21