Ingeniería Inversa en el Contexto de ADM - Pereira, Claudia; Martinez, Liliana; Favre, Liliana (Revista Tecnología y Ciencia, 2019)
La ingeniería inversa es una etapa crucial en el proceso de modernización de software. La iniciativa Architecture–Driven Modernization (ADM) surgió con el objetivo de definir estándares para soportar el proceso de modernización en el contexto de desarrollos dirigidos por modelos, siendo relevantes para la ingeniería inversa los metamodelos Knowledge Discovery Metamodel y Abstract Syntax Tree Metamodel. Se propone en este artículo aplicar los principios de ADM para proveer vistas de alto nivel de sistemas heredados. Se describe un framework para la ingeniería inversa de código orientado a objetos a fin de extraer modelos UML. Se ejemplifica la propuesta con un caso de estudio que muestra cómo recuperar diagramas de casos de uso y de interacción a partir de código Java. La propuesta fue validada utilizando el framework de modelado Eclipse y la plataforma MoDisco que puede considerarse como la implementación oficial de los estándares ADM.