Métricas para comprender el esfuerzo de mantenimiento futuro requerido de un código fuente complicado

  • Michael Dorin Universität Würzburg. Würzburg, Germany
  • Sergio Montenegro Universität Würzburg. Würzburg, Germany
Palabras clave: análisis, métricas, código fuente complejo, complicado

Resumen

Un problema de ingeniería duradero es la creación de código fuente demasiado complicado para que los humanos lo revisen y comprendan. Una consecuencia del código fuente complicado es que requiere más esfuerzo para implementar y mantener. Lo que exacerba el problema es la falta de una comprensión adecuada de lo que significan exactamente las palabras “complicado” y “complejo”, ya que estas definiciones a menudo se interpretan mal. Algunos sistemas son realmente intrínsecamente complejos, pero esto no significa que deban ser complicados. En nuestra investigación, se evaluaron varios proyectos de código abierto utilizando métricas de software para mapear la complejidad del código fuente con el esfuerzo continuo para mantener el proyecto. Los resultados de nuestra investigación muestran que existe una relación entre el código fuente complicado y el esfuerzo de mantenimiento. Está claro que adherirse a las prácticas de codificación adecuadas y evitar el código complicado puede resultar en un esfuerzo de mantenimiento futuro mucho más manejable.

Descargas

La descarga de datos todavía no está disponible.

Citas

Bardas, A. G. (2010). Static code analysis. Journal of Information Systems & Operations Management, 4(2), 99-107.

Borowiec, D. (2014). Commented Code Detector. Retrieved June 16, 2019, from https:// https://github.com/dborowiec/commentedCodeDetector

Dorin, M. (2018, May). Coding for inspections and reviews. In Proceedings of the 19th International Conference on Agile Software Development: Companion (p. 34). ACM.

Foucault, M., Palyart, M., Blanc, X., Murphy, G. C., & Falleri, J. R. (2015, August). Impact of developer turnover on quality in open-source software. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (pp. 829-841). ACM.

GitHub. (2019). Build software better, together. Retrieved June 16, from https://github.com/

Halstead, M. H. (1977). Elements of software science (Vol. 7, p. 127). New York: Elsevier.

Hatton, L. (1997). Reexamining the fault density component size connection. IEEE software, 14(2), 89-97.

Kobashi, Y., Fukuda, M., Yoshida, K., Miyashita, N., Niki, Y., & Oka, M. (2006). Chronic necrotizing pulmonary aspergillosis as a complication of pulmonary Mycobacterium avium complex disease. Respirology, 11(6), 809-813.

Lissack, M., & Roos, J. (1999). The next common sense: Mastering corporate complexity through coherence. Nicholas Brealey Publishing.

Manser, M. (2004). Good Word Guide. Bloomsbury Publishing UK.

Marjamäki , D. (2019). Cppcheck. Retrieved June 16, 2019, from http://cppcheck.sourceforge.net

McCabe, T. J. (1976). A complexity measure. IEEE Transactions on software Engineering, (4), 308-320.

Mish, F. C. (Ed.). (2004). Merriam-Webster’s collegiate dictionary. Merriam-Webster.

Nagappan, N., & Ball , T. (2005, May). Use of relative code churn measures to predict system defect density. In Proceedings of the 27th international conference on Software engineering (pp. 284-292). ACM.

Spinellis, D. (2012). Git. IEEE software, 29(3), 100-101.

Sturtevant, D. J. (2013). System design and the cost of architectural complexity (Doctoral dissertation, Massachusetts Institute of Technology).

Torek, A. C. Distributed Version Control With Git And Mercurial. Retrieved June 16, 2019,

from http://web.torek.net/torek/tmp/book.pdf

Yin, T. (2019). Lizard. Retrieved June 16, 2019, from https://github.com/terryyin/lizard

Yoon and K. Tyagi. (2014) nsiqcppstyle. Retrieved June 16, 2019, from https://github.com/kunaltyagi/nsiqcppstyle

Publicado
2020-07-15
Cómo citar
Dorin, M., & Montenegro, S. (2020). Métricas para comprender el esfuerzo de mantenimiento futuro requerido de un código fuente complicado. Actas Del Congreso Internacional De Ingeniería De Sistemas, 171-183. https://doi.org/10.26439/ciis2019.5510