Mapeo y factorización de modelos orientados a objetos en aplicaciones C
La generación de modelos de alto nivel, en procesos de ingeniería inversa aplicados a sistemas legacy, ayuda a entender cómo fue construido dicho sistema. En el contexto de programas implementados en lenguajes estructurados, las propuestas actuales de generación...
Guardado en:
| Autor principal: | |
|---|---|
| Formato: | Artículo revista |
| Lenguaje: | Español |
| Publicado: |
Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas
2016
|
| Materias: | |
| Acceso en línea: | http://www.ridaa.unicen.edu.ar/xmlui/handle/123456789/771 |
| Aporte de: |
| id |
I21-R190-123456789-771 |
|---|---|
| record_format |
ojs |
| spelling |
I21-R190-123456789-7712023-05-31T16:06:44Z Mapeo y factorización de modelos orientados a objetos en aplicaciones C Cassol, Ignacio Arévalo, Gabriela Casanova, Federico Computación Refactorización Proceso de mejora continua Ingeniería del software Proceso de refactoring M2k Sistemas legacy Lenguajes de programación Ingeniería de sistemas Lenguaje C Modelo orientado a objetos Matemática computacional Tesis de doctorado La generación de modelos de alto nivel, en procesos de ingeniería inversa aplicados a sistemas legacy, ayuda a entender cómo fue construido dicho sistema. En el contexto de programas implementados en lenguajes estructurados, las propuestas actuales de generación de modelos requieren documentación y/o conocimiento implícido que generalmente sólo poseen los stakeholders que han participado en la construcción de dicha aplicación. Cuando estos requerimientos no se cumplen, las propuestas no son aplicables. Los sistemas legacy implementados en lenguajes estructurados todavía tienen vigencia y siguen funcionando. Estos sistemas también evolucionan y los desarrolladores deben realizar tareas de mantenimiento. Basados en las buenas propiedades que tiene el paradigma orientado a objetos, proponemos M2K: una metodología que genera un modelo orientado a objetos de sistemas legacy programados en Ansi C. Nuestra contribución está basada en la generación de dicho modelo combinando técnicas automáticas y manuales que aportan flexibilidad a la solución. Un software propio parsea de modo automático el código legacy y genera un modelo. Un experto, sobre la base de dicho modelo, aplica un conjunto de refactorings y genera un modelo mejorado. Finalmente, presentamos un modelo de métricas que nos permite medir la distancia entre el modelo generado automáticamente y el modelo mejorado. Fil: Cassol, Ignacio. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina Fil: Arévalo, Gabriela. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina Fil: Casanova, Federico. Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas; Argentina When analyzing legacy code, generating a high-‐level model of an application during the reverse engineering process helps the developers understand how the application was structured. Within the context of procedural programming languages (such as C), the existing approaches to get a model of the code require documentation and/or implicit knowledge that stakeholders acquire during the software building. Those requirements do not always happen. The legacy procedural code is still worth and working in several industries, and as any evolving code, the developers have to be able to perform maintenance tasks minimizing the limitations offered by the language. Based on useful properties that the object-‐oriented paradigm provides, such as UML models, we propose M2K as a methodology to generate a high-‐level model from legacy procedural code, written in Ansi C. Our contribution is based on building an object-‐oriented model and proposing different refactorings that help the developer to improve it. Based on a generated model parsed automatically with own software, we propose refactorings using object-‐oriented design principles. Finally, we introduce a model of metrics that let us measure the distance between the generated automatically model and the improved model after applying the refactorings 2016-05 2016-10-21T15:45:28Z info:ar-repo/semantics/tesis doctoral info:eu-repo/semantics/acceptedVersion info:eu-repo/semantics/doctoralThesis http://www.ridaa.unicen.edu.ar/xmlui/handle/123456789/771 https://www.ridaa.unicen.edu.ar/handle/123456789/771 spa http://creativecommons.org/licenses/by-nc/2.5/ar/ info:eu-repo/semantics/openAccess application/pdf application/pdf Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas |
| institution |
Universidad Nacional del Centro |
| institution_str |
I-21 |
| repository_str |
R-190 |
| container_title_str |
Repositorio Institucional de Acceso Abierto (RIDAA) |
| language |
Español |
| format |
Artículo revista |
| topic |
Computación Refactorización Proceso de mejora continua Ingeniería del software Proceso de refactoring M2k Sistemas legacy Lenguajes de programación Ingeniería de sistemas Lenguaje C Modelo orientado a objetos Matemática computacional Tesis de doctorado |
| spellingShingle |
Computación Refactorización Proceso de mejora continua Ingeniería del software Proceso de refactoring M2k Sistemas legacy Lenguajes de programación Ingeniería de sistemas Lenguaje C Modelo orientado a objetos Matemática computacional Tesis de doctorado Cassol, Ignacio Mapeo y factorización de modelos orientados a objetos en aplicaciones C |
| topic_facet |
Computación Refactorización Proceso de mejora continua Ingeniería del software Proceso de refactoring M2k Sistemas legacy Lenguajes de programación Ingeniería de sistemas Lenguaje C Modelo orientado a objetos Matemática computacional Tesis de doctorado |
| author |
Cassol, Ignacio |
| author_facet |
Cassol, Ignacio |
| author_sort |
Cassol, Ignacio |
| title |
Mapeo y factorización de modelos orientados a objetos en aplicaciones C |
| title_short |
Mapeo y factorización de modelos orientados a objetos en aplicaciones C |
| title_full |
Mapeo y factorización de modelos orientados a objetos en aplicaciones C |
| title_fullStr |
Mapeo y factorización de modelos orientados a objetos en aplicaciones C |
| title_full_unstemmed |
Mapeo y factorización de modelos orientados a objetos en aplicaciones C |
| title_sort |
mapeo y factorización de modelos orientados a objetos en aplicaciones c |
| description |
La
generación
de
modelos
de
alto
nivel,
en
procesos
de
ingeniería
inversa
aplicados
a
sistemas
legacy,
ayuda
a
entender
cómo
fue
construido
dicho
sistema.
En
el
contexto
de
programas
implementados
en
lenguajes
estructurados,
las
propuestas
actuales
de
generación
de
modelos
requieren
documentación
y/o
conocimiento
implícido
que
generalmente
sólo
poseen
los
stakeholders
que
han
participado
en
la
construcción
de
dicha
aplicación.
Cuando
estos
requerimientos
no
se
cumplen,
las
propuestas
no
son
aplicables.
Los
sistemas
legacy
implementados
en
lenguajes
estructurados
todavía
tienen
vigencia
y
siguen
funcionando.
Estos
sistemas
también
evolucionan
y
los
desarrolladores
deben
realizar
tareas
de
mantenimiento.
Basados
en
las
buenas
propiedades
que
tiene
el
paradigma
orientado
a
objetos,
proponemos
M2K:
una
metodología
que
genera
un
modelo
orientado
a
objetos
de
sistemas
legacy
programados
en
Ansi
C.
Nuestra
contribución
está
basada
en
la
generación
de
dicho
modelo
combinando
técnicas
automáticas
y
manuales
que
aportan
flexibilidad
a
la
solución.
Un
software
propio
parsea
de
modo
automático
el
código
legacy
y
genera
un
modelo.
Un
experto,
sobre
la
base
de
dicho
modelo,
aplica
un
conjunto
de
refactorings
y
genera
un
modelo
mejorado.
Finalmente,
presentamos
un
modelo
de
métricas
que
nos
permite
medir
la
distancia
entre
el
modelo
generado
automáticamente
y
el
modelo
mejorado. |
| publisher |
Universidad Nacional del Centro de la Provincia de Buenos Aires. Facultad de Ciencias Exactas |
| publishDate |
2016 |
| url |
http://www.ridaa.unicen.edu.ar/xmlui/handle/123456789/771 |
| work_keys_str_mv |
AT cassolignacio mapeoyfactorizaciondemodelosorientadosaobjetosenaplicacionesc |
| first_indexed |
2022-07-04T14:27:45Z |
| last_indexed |
2024-08-12T22:53:55Z |
| _version_ |
1807224129168867328 |