Show simple item record

Ingeniería inversa para el mantenimiento del software: una revisión sistemática de literatura

dc.contributor.authorAguilar Vera, Raúl Antonio
dc.contributor.authorBaeza Pérez, José de la Rosa
dc.contributor.authorDíaz Mendoza, Julio Cesar
dc.contributor.authorAguileta Güemez, Antonio Armando
dc.date.accessioned2024-11-01T13:48:27Z
dc.date.available2024-11-01T13:48:27Z
dc.date.created2024-05-02
dc.identifier.issn1692-3324
dc.identifier.urihttp://hdl.handle.net/11407/8630
dc.descriptionReverse engineering covers a wide range of software life cycle activities starting with the existing implementation, recovering, or recreating the design and deciphering the requirements implemented in the system. The objective of this article is to present a state of the art on Reverse Engineering techniques used in the context of software maintenance. For this purpose, a Systematic Literature Review was carried out, in which 47 primary studies from 4 databases, published in this century, were analyzed. Research questions were raised regarding the distribution of publications throughout this century and, about the type of maintenance on which they focus; Likewise, the techniques and metrics reported for reverse engineering processes in maintenance activities were analyzed. A significant increase (just over 200 %) could be observed in the second decade of this century compared to the first. On the other hand, it was observed that perfective maintenance is the one in which the most techniques were identified, although the majority are static. From the analysis of the selected studies, a total of 22 types of reengineering techniques used for software maintenance/evolution tasks were identified, reporting a set of eight types of metrics used to evaluate the quality of reengineering processes in the evolution of the software.eng
dc.descriptionLa ingeniería inversa cubre una amplia gama de actividades del ciclo de vida del software comenzando con la implementación existente, recuperando o recreando el diseño y descifrando los requisitos implementados en el sistema. El objetivo de este artículo es presentar un estado del arte sobre técnicas de Ingeniería Inversa utilizadas en el contexto del mantenimiento de software. Para ello se realizó una Revisión Sistemática de la Literatura, en la que se analizaron 47 estudios primarios de 4 bases de datos, publicados en este siglo. Se plantearon interrogantes de investigación respecto de la distribución de las publicaciones a lo largo de este siglo y, sobre el tipo de mantenimiento en el que se enfocan; Asimismo, se analizaron las técnicas y métricas reportadas para los procesos de ingeniería inversa en las actividades de mantenimiento. En la segunda década de este siglo se pudo observar un aumento significativo (poco más del 200 %) en comparación con la primera. Por otro lado, se observó que el mantenimiento perfectivo es en el que más técnicas se identificaron, aunque la mayoría son estáticas. Del análisis de los estudios seleccionados se identificaron un total de 22 tipos de técnicas de reingeniería utilizadas para tareas de mantenimiento/evolución del software, reportando un conjunto de ocho tipos de métricas utilizadas para evaluar la calidad de los procesos de reingeniería en la evolución del software.spa
dc.format.extentp. 1-18
dc.format.mediumElectrónico
dc.format.mimetypePDF
dc.language.isospa
dc.publisherUniversidad de Medellín
dc.relation.ispartofseriesRevista Ingenierías Universidad de Medellín; Vol. 23 No. 44 (2024)
dc.relation.haspartRevista Ingenierías Universidad de Medellín; Vol. 23 Núm. 44 enero-junio 2024
dc.relation.urihttps://revistas.udem.edu.co/index.php/ingenierias/article/view/4701
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0*
dc.sourceRevista Ingenierías Universidad de Medellín; Vol. 22 No. 42 (2023): (enero-junio); 1-18
dc.subjectSoftware engineeringeng
dc.subjectSoftware maintenanceeng
dc.subjectSystematic literature revieweng
dc.subjectReverse engineering techniqueseng
dc.subjectIngeniería de softwarespa
dc.subjectMantenimiento de softwarespa
dc.subjectRevisión sistemática de literaturaspa
dc.subjectTécnicas de ingeniería inversaspa
dc.titleReverse engineering for software maintenance: a systematic review of literatureeng
dc.titleIngeniería inversa para el mantenimiento del software: una revisión sistemática de literaturaspa
dc.typearticle
dc.identifier.doihttps://doi.org/10.22395/rium.v23n44a2
dc.relation.citationvolume23
dc.relation.citationissue44
dc.relation.citationstartpage1
dc.relation.citationendpage18
dc.audienceComunidad Universidad de Medellín
dc.publisher.facultyFacultad de Ingenierías
dc.coverageLat: 06 15 00 N degrees minutes Lat: 6.2500 decimal degreesLong: 075 36 00 W degrees minutes Long: -75.6000 decimal degrees
dc.publisher.placeMedellín
dc.relation.referencesP. Bourque & R. Dupuis (2004). Swebok. IEEE Computer society.
dc.relation.referencesP. Bourque & R. Fairley (2014). Guide to the Software Engineering Body of Knowledge (SWEBOK V3.0). IEEE Computer Society.
dc.relation.referencesM. Piattini, J. Villalba, F. Ruiz, T. Bastanchury, M. Polo, M. Martínez & C. Nistal (2000). Mantenimiento del Software. Modelos, técnicas y métodos para la gestión del cambio. Ed. Alfaomega & Ra-Ma.
dc.relation.referencesLehman, M. M., & Ramil, J. F. (2003). Software evolution'Background, theory, practice. Information Processing Letters, 88(1-2), 33-44.
dc.relation.referencesLehman, M. M., Ramil, J. F., Wernick, P. D., Perry, D. E., & Turski, W. M. (1997). Metrics and laws of software evolution-the nineties view. In Proceedings Fourth International Software Metrics Symposium. 20-32. IEEE.
dc.relation.referencesE. Chikofsky & J. Cross (1990). Reverse engineering and design recovery: A taxonomy. IEEE software, 7(1), 13-17.
dc.relation.referencesM. Genero, J. Cruz-Lemus y M. Piattini (2014) Métodos de Investigación en Ingeniería de Software, Ed. Ra-Ma.
dc.relation.referencesB. Kitchenham & S. Charters (2007). Guidelines for performing systematic literature reviews in software engineering.
dc.relation.referencesC. Wohlin (2014). Guidelines for snowballing in systematic literature studies and a replication in software engineering. Proceedings of the 18th ICE & A in SE.
dc.relation.referencesC. Raibulet, F. Fontana & M. Zanoni (2017) Model-driven reverse engineering approaches: A systematic literature review. Ieee Access, 5, 14516-14542.
dc.relation.referencesM. Hasbi, E. Budiardjo & W. Wibowo (2018). Reverse engineering in software product line-a systematic literature review. In Proceedings of the 2018 2nd International Conference on Computer Science and Artificial Intelligence. 174-179.
dc.relation.referencesT. Dybå & T. Dingsøyr (2008). Empirical studies of agile software development: A systematic review. Information and software technology, 50(9-10), 833-859.
dc.relation.referencesJ. Baeza & R. Aguilar (2022) Quality Assessment for Selected Primary Studies in a Systematic Literature Review: A Case Study. Proceedings of the 2022 Mexican International Conference on Computer Science (ENC). Xalapa, Veracruz, México. DOI: 10.1109/ENC56672.2022.9882921
dc.rights.creativecommonsAttribution-NonCommercial-NoDerivatives 4.0 International*
dc.identifier.eissn2248-4094
dc.type.coarhttp://purl.org/coar/resource_type/c_6501
dc.type.versioninfo:eu-repo/semantics/publishedVersion
dc.type.localArtículo científico
dc.type.driverinfo:eu-repo/semantics/article
dc.identifier.reponamereponame:Repositorio Institucional Universidad de Medellín
dc.identifier.repourlrepourl:https://repository.udem.edu.co/
dc.identifier.instnameinstname:Universidad de Medellín


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivatives 4.0 International
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivatives 4.0 International