2005
DOI: 10.1145/1082983.1083004
|View full text |Cite
|
Sign up to set email alerts
|

Why teach reverse engineering?

Abstract: Software reverse engineering is a fascinating discipline of software engineering. But it has failed to attract attention from students. Largely due to the facts that many universities around the world do not offer relevant courses, developing new software has always been considered superior then to maintain existing systems. But owing to the arrival of the internet, and client-server technology. Many organizations wish to adapt their existing systems. Thus the trend has somewhat shifted towards software evolut… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
4
0
9

Year Published

2009
2009
2024
2024

Publication Types

Select...
4
2
2

Relationship

0
8

Authors

Journals

citations
Cited by 24 publications
(14 citation statements)
references
References 8 publications
0
4
0
9
Order By: Relevance
“…Los resultados del estudio de caso confirman los planteamientos de Klimek et al, porque el uso de la ingeniería inversa en el desarrollo de la clase contribuyó motivación de los estudiantes pensamiento lógico Además, las propuestas que presentaron los estudiantes para ampliar la funcionalidad de JHotDraw desarrollo del taller estudiantes [6]. Así mismo, permiten afirmar de clase ayudó a que los estudiantes entre la teoría y la práctica un mejor y más profundo entendimiento clase [10].…”
Section: Conference For Engineering Education and Technologyunclassified
See 1 more Smart Citation
“…Los resultados del estudio de caso confirman los planteamientos de Klimek et al, porque el uso de la ingeniería inversa en el desarrollo de la clase contribuyó motivación de los estudiantes pensamiento lógico Además, las propuestas que presentaron los estudiantes para ampliar la funcionalidad de JHotDraw desarrollo del taller estudiantes [6]. Así mismo, permiten afirmar de clase ayudó a que los estudiantes entre la teoría y la práctica un mejor y más profundo entendimiento clase [10].…”
Section: Conference For Engineering Education and Technologyunclassified
“…Para el caso concreto de la ingeniería de software, actualmente la ingeniería inversa se usa en contextos como la producción de software, la seguridad informática, la educación y la computación forense [8] [9]. Algunos estudios afirman que las técnicas de ingeniería inversa mejoran las habilidades para entender un sistema, facilitan el desarrollo de habilidades de diseño y programación [10], contribuye a despertar la motivación en los estudiantes, y al desarrollo sistemático de la capacidad de análisis y pensamiento lógico [11]. Mientras que otros argumentan la necesidad de incluir la ingeniería inversa en la formación de ingenieros de software y profesionales del campo de las ciencias de la computación [12].…”
Section: Introductionunclassified
“…En este sentido, la ingeniería inversa se convierte en una herramienta didáctica que posibilita (Klimek et al, 2011;Cipresso, 2009;Ali, 2006;Ali, 2005 ): (i) El aprendizaje a partir de éxitos y fallas reales, porque hace Caracterización de los Contextos de Uso de la Ingeniería Inversa Monroy posible el uso de productos software para mostrarle a los estudiantes el diseño y la arquitectura de los casos de éxito con el fin de replicarlos, así como también los fracasos para evitarlos; (ii) El desarrollo de la curiosidad, estimulando el interés de los estudiantes al evidenciar la importancia de los modelos en los procesos de desarrollo de software, tomando como referentes implementaciones reales; (iii) La recuperación del conocimiento representado en productos software desarrollados, para facilitar la comprensión de conceptos en el campo de la ingeniería de software, como es el caso de la identificación de patrones aplicando técnicas de ingeniería inversa (Tonella et al, 2007); (iv) El desarrollo de habilidades para modelar, programar y hacer mantenimiento a productos software a partir implementaciones reales; y (v) La corrección de errores en el proceso de aprendizaje, mediante la utilización de herramientas de ingeniería inversa que permitan identificar posibles errores de diseño, o identificar inconsistencias entre los modelos de diseño y la implementación realizada.…”
Section: Educaciónunclassified
“…A partir de su extensa experiencia Stoermer et al (2003) identificaron varios contextos en los que se puede aplicar la ingeniería inversa, que incluyen: mejorar el entendimiento de la arquitectura de sistemas de software, mejorar la arquitectura como tal, evaluar los atributos de calidad del software, mejorar la documentación de la arquitectura, entre otros. Sin embargo, además del campo del desarrollo de software, la ingeniería inversa también se ha utilizado en otros contextos, como la educación (Klimek et al, 2011;Cipresso, 2009;Ali, 2006;Ali, 2005), la seguridad informática (Treude et al, 2011;Ligh et al, 2010, Sharif et al, 2009 e incluso en la computación forense (Nelson et al, 2014;Mueller, 2010;Ligh et al, 2010).…”
Section: Introductionunclassified
“…Ali [2] has proposed the use of reverse software engineering techniques to teach the students how to effectively maintain software systems. Reverse software engineering is the process of analyzing a system to create representations of the system at a higher level of abstraction [4] [13].…”
Section: Introductionmentioning
confidence: 99%