Un enfoque de machine learning para apoyar la identificación de la deuda técnica en arquitectura

Autores/as

  • Boris Rainiero Pérez-Gutiérrez Universidad Francisco de Paula Santander
  • Darío Ernesto Correal Universidad de los Andes
  • Fredy Humberto Vera-Rivera Universidad Francisco de Paula Santander

DOI:

https://doi.org/10.61799/2216-0388.1198

Palabras clave:

arquitectura de solución, artefactos heterogéneos, deuda técnica en arquitectura, machine learning

Resumen

Antecedentes: Las decisiones tomadas por los arquitectos para favoreces objetivos a corto plazo y en posible detrimento de la calidad del software a largo plazo, se conoce como Deuda Técnica en Arquitectura. Este tipo de deuda técnica es difícil de identificar porque está relacionada con los atributos de calidad no visibles para el cliente, como la mantenibilidad y capacidad de evolucionar del sistema. Objetivo: Es por esto que, en este artículo, se un modelo supervisado de machine learning para apoyar la identificación de la deuda técnica en arquitectura que se ubique en la etapa de diseño de la arquitectura. Métodos: Esta propuesta se apoya en la información recogida de los artefactos producidos durante el diseño de la arquitectura para construir un dataset que permita evaluar diferentes algoritmos de aprendizaje supervisado y así establecer el que ofrezca mejor exactitud. La identificación de la deuda técnica, dentro del marco de esta propuesta y a diferencia de las propuestas en la literatura, no considera el código fuente. Resultados: El desempeño del modelo fue evaluado a través de un caso real de la industria y permitió descubrir que tanto la exactitud como el recall presentan niveles aceptables. Conclusiones: Los datos utilizados para entrenar el modelo, si bien son apropiados, son susceptibles de seguir mejorando. Este enfoque permitirá a los arquitectos apoyar la identificación de ATD conscientes e inconscientes inyectados en sus arquitecturas.

Descargas

Los datos de descargas todavía no están disponibles.

Citas

A. Martini, E. Sikander y N. Madlani, “A semi-automated framework for the identification and estimation of Architectural Technical Debt”, Information and Software Technology, vol. 93, pp. 264–279, January 2018. https://doi.org/10.1016/j.infsof.2017.08.005.

N. Rios, R. Spínola, M. Mendonça y C. Seaman, “The practitioners’ point of view on the concept of technical debt and its causes and consequences: a design for a global family of industrial surveys and its first results from Brazil”, Empirical Software Engineering, vol. 25, ed. 5, pp. 3216-3287, September 2020. https://doi.org/10.1007/s10664-020-09832-9.

A. Martini, J. Bosch y M. Chaudron, “Architecture Technical Debt: Understanding Causes and a Qualitative Model”, in Proceedings of the 40th EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 85-92, 2014. https://doi.org/10.1109/SEAA.2014.65.

N. Ernst, S. Bellomo, I. Ozkaya, R. Nord y I. Gorton, “Measure it? Manage it? Ignore it? software practitioners and technical debt”, in Proceedings of the 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2015), pp. 50-60, 2015. https://doi.org/10.1145/2786805.2786848.

Z. Li, P. Liang y P. Avgeriou, “Architectural Technical Debt Identification Based on Architecture Decisions and Change Scenarios”, in Proceedings of the 12th Working IEEE/IFIP Conference on Software Architecture, pp. 65-74, 2015. http://doi.org/10.1109/WICSA.2015.19

A. Martini, T. Besker y J. Bosch, “The Introduction of Technical Debt Tracking in Large Companies”, in Proceedings of the 23rd Asia-Pacific Software Engineering Conference (APSEC), pp. 161-168, 2016. http://doi.org/10.1109/APSEC.2016.032.

R. L. Nord, I. Ozkaya, P. Kruchten and M. Gonzalez-Rojas, “In Search of a Metric for Managing Architectural Technical Debt,” in Proceedings of the Joint Working IEEE/IFIP Conference on Software Architecture and European Conference on Software Architecture, pp. 91-100, 2012 http://doi.org/10.1109/WICSA-ECSA.212.17.

Zengyang Li, Paris Avgeriou y Peng Liang, “A systematic mapping study on technical debt and its management”, Journal of Systems and Software, vol. 101, pp. 193-220, 2015. https://doi.org/10.1016/j.jss.2014.12.027

J. A. Díaz-Pace, A. Tommasel y D. Godoy, “Towards Anticipation of Architectural Smells Using Link Prediction Techniques”, in Proceedings of the IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 62-71, 2018. http://goi.org/10.1109/SCAM.2018.00015.

M. A. de Freitas Farias, M. G. de Mendonça Neto, A. B. d. Silva y R. O. Spínola, “A Contextualized Vocabulary Model for identifying technical debt on code comments”, in Proceedings of the IEEE 7th International Workshop on Managing Technical Debt (MTD), pp. 25-32, 2015. http://doi.org/10.1109/MTD.2015.7332621.

D. Tsoukalas, D. Kehagias, M. Siavvas y A. Chatzigeorgiou, “Technical debt forecasting: An empirical study on open-source repositories”, Journal of Systems and Software, vol. 170, pp. 1-35, 2020. https://doi.org/10.1016/j.jss.2020.110777

K. Dai y P. Kruchten, “Detecting Technical Debt through Issue Trackers”, in Proceedings of the 5th International Workshop on Quantitative Approaches to Software Quality, pp. 59-65, 2017. https://dx.doi.org/10.14288/1.0374920.

A. Tsintzira, E. M. Arvanitou, A. Ampatzoglou, A. Chatzigeorgiou, “Applying Machine Learning in Technical Debt Management: Future Opportunities and Challenges”, Communications in Computer and Information Science, vol. 1266, pp. 53-67, 2020. https://doi.org/10.1007/978-3-030-58793-2_5

J. Musil et al., “Continuous Architectural Knowledge Integration: Making Heterogeneous Architectural Knowledge Available in Large-Scale Organizations”, in Proceedings of the IEEE International Conference on Software Architecture (ICSA), pp. 189-192, 2017. https://doi.org/10.1109/ICSA.2017.28

C. Atkinson y T. Kuhne, “Model-driven development: a metamodeling foundation”, IEEE Software, vol. 20, no. 5, pp. 36-41, September 2003. https://doi.org/10.1109/MS.2003.1231149.

H. Jonkers, E. Proper, M. M. Lankhorst, D. A. C. Quartel y M. Iacob, “ArchiMate(R) for Integrated Modelling Throughout the Architecture Development and Implementation Cycle”, in Proceedings of the IEEE 13th Conference on Commerce and Enterprise Computing, pp. 294-301, 2011. https://doi.org/10.1109/CEC.2011.52.

M. Nygard, “Documenting Architecture Decisions”, November 2011. [Online]. Disponible en: https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions.html

R. N. Taylor, N. Medvidovic y E. M. Dashofy. Software Architecture: Foundations, Theory, and Practice. Wiley India Pvt. Limited. 2010.

R. Verdecchia, I. Malavolta y P. Lago, “Architectural Technical Debt Identification: The Research Landscape”, in Proceedings of the IEEE/ACM International Conference on Technical Debt (TechDebt), pp. 11-20, 2018. https://doi.org/10.1145/3194164.3194176

T. Besker, A. Martini y J. Bosch, “Managing architectural technical debt: A unified model and systematic literature review”, Journal of Systems and Software, vol. 135, pp. 1-16, 2018. https://doi.org/10.1016/j.jss.2017.09.025

H. C. Wu, R. W. Pong Luk, K. F. Wong y K. L. Kwok, “Interpreting TF-IDF term weights as making relevance decisions”, ACM Transactions on Information Systems, vol. 26, pp. 1-37, June 2008. https://doi.org/10.1145/1361684.1361686

Descargas

Publicado

2022-01-10

Cómo citar

Pérez-Gutiérrez, B. R. ., Correal, D. E. ., & Vera-Rivera, F. H. . (2022). Un enfoque de machine learning para apoyar la identificación de la deuda técnica en arquitectura. Mundo FESC, 12(23), 144–157. https://doi.org/10.61799/2216-0388.1198

Número

Sección

Articulos