Aplicando reuso de software na construção de ferramentas de engenharia reversa

  • Felipe Gouveia de Freitas PUC-Rio
  • Julio Cesar Sampaio do Prado Leite PUC-Rio

Abstract


Reverse engineering deals with the challenges of deriving specifications from a detailed implementation. Our work proposes a singular approach to reverse engineering. We have built two domain modeling languages that make it possible the construction of reverse engineering tools by the reuse of such languages. This approach is based on the Draco paradigm and implemented in the Draco-PUC machine. We have used the domains to build a specific tool and applied it to recover the design of a public domain browser.

Keywords: reverse engineering, software reuse, Draco-PUC, reverse engineering tools

References

G. Booch. Object Oriented Analysis and Design with Applications, second edition. Benjamin/Cummings 1994

Bergmann, U, Prado, A. F., Leite, J.C.S.P., Desenvolvimento de Sistemas Orientados a Objetos Utilizando o Sistema Transformacional Draco-PUC, Em Anais do X Simpósio Brasileiro de Engenharia de Software, Sociedade Brasileira de Engenharia de Software, José Carlos Maldonado, ed., São Carlos, 1996, pp. 173-188.

C.O. Braga. Documentu Um sistema para a geração de documentação hipertextual para o desenvolvedor de software. Dissertação de Mestrado; Departamento de Informática; Puc-Rio; 1996

Campo, M.R., Price, R.T. Um Framework Reflexivo para Ferramentas de Visualização de Software, Em Anais do X Simpósio Brasileiro de Engenharia de Software, Sociedade Brasileira de Engenharia de Software, José Carlos Maldonado, ed., São Carlos, 1996, pp. 1583-172.

James H. Cross, T. Dean Hendrix. Using Generalized Markup and SGML for Reverse Engineering Graphical Representation os Software. Second Working Conference on Reverse Engineering, 1995.

D.R.Harris, A.S.Yeh, H.B.Reubenstein. Extracting Architectural Features from Source Code. Automated Software Engineering, 3(1/2), June 1996.

H.E. Edwards; M. Munro. RECAST - Reverse Engineering from COBOL to SSADM. Working Conference on Reverse Engineering; May 1993, Baltimore, Maryland

Peter Freeman. A Conceptual Analysis of the Draco Approach to Constructing Software Systems. IEEE Transactions on Software Enginnering, SE-13(7):830-844, July 1987.

F.G. Freitas. A Geração de Parsers da Máquina DRACO-PUC. Trabalho Final de Curso - Engenharia de Computação; Departamento de Informática; Puc-Rio; 1994

F.G.Freitas. VG Um visualizador gráfico genérico. Projeto Final de Programação; Departamento de Informática; Puc-Rio; 1996

F.G. Freitas. Aplicando técnicas de reuso de software na construção de ferramentas de engenharia reversa. Dissertação de Mestrado; Departamento de Informática; Puc-Rio; 1997

Stan Jarzabek, Tan Poh Keam. Design of a Generic Reverse Engineering Assistant Tool. Second Working Conference on Reverse Engineering, 1995.

Leite, C.S.P. Recovering business rules from structured analysis specifications, In Proceedings of the WCRE '95, IEEE Computer Society Press, Los Alamitos, CA, pp. 13-21

J.C.Leite. Working Results on Software Re-Engineering. Software Engineering Notes 21(2) March 1996.

Leite, C.S.P, Prado, A.F., Sant"Anna, M. Draco-PUC, Experiências e Resultados de Re-Engenharia de Software, Em Anais do VI Simpósio Brasileiro de Engenharia de Software, Sociedade Brasileira de Engenharia de Software, Daltro Nunes, ed. Gramado, 1992, pp. 115-128.

J.C.Leite, M.Sant'Anna, F.G.Freitas. Draco-PUC: a Technology Assembly for Domain Oriented Software Development. Third Intemational Conference on Software Reuse (Proceedings) 1994.

Leite, J.C.S.P., Sant'Anna, M., Freitas, F.G., O Uso do Paradigma Transformacional no Porte de Programas Cobol, Em Anais do IX Simpósio Brasileiro de Engenharia de Software, Sociedade Brasileira de Engenharia de Software, Jäelson Castro, ed, Recife 1995, pp. 397-414.

Paulo C. Masiero. Análise de Sistemas pelo Método de Jackson. ICMSC-USP, 1990

https//cuiunige.ch/-scg/FreeDB/PreeDB.6.html

James M. Neighbors, T. Biggerstaff, A. Perlis. Draco: A Method for Engineering Reusable Software Systems. Software Reusability, Addison-Wesley 1989.

James M. Neighbors. The Draco Approach to Constructing Software from Reusable Components. IEEE Transactions on Software Enginnering, SE-10(5):564-574, Sep. 1984.

Penteado, R.A.D., Germano, F.S.R., Masiero, P.C. Engenharia Reversa Orientada a Objetos do Ambiente StatSim, Em Anais do 1X Simpósio Brasileiro de Engenharia de Software, Sociedade Brasileira de Engenharia de Software, Jaelson Castro, ed,, Recife 1995, pp. 345-362.

António F. do Prado. Estratégia de Re-Engenharia de Software Orientada a Domínios. PhD thesis, Pontifícia Universidade Católica do Rio de Janeiro, 1992.

P.G.Selfridge, R.C.Walters, E.J.Chikofsky. Challenges to the Field of Reverse Engineering. Working Conference on Reverse Engineering, 1993.

James Rumbaugh, Michael Blaha, William Premerlani, Fredrick Eddy and William Lorensen. Object Oriented Modeling and Design. Prentice Hall ISBN 0-13-629841-9, 1991

Julian Smart. wxWindows User Manual. University of Edinburgh. Artificial Intelligence Applications. Institute. 80 South Bridge, Edinburgh. 1995

T.J. Biggerstaff, B.G.Mitbander, D.E. Webster. Program Understanding and the Concept Assignment Problem. Communications of The ACM, 37(5), May 1994.

Linda M. Wills, James H. Cross II. Recent Trends and Open Issues in Reverse Engineering. Automated Software Engineering, 3(1/2), June 1996.

http://www.ozemail.com.au/~adavison/wxweb.html

http://www.aiai.ed.ac.uk/~jacs/wxwin.html
Published
1997-10-15
FREITAS, Felipe Gouveia de; LEITE, Julio Cesar Sampaio do Prado. Aplicando reuso de software na construção de ferramentas de engenharia reversa. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 11. , 1997, Recife/PE. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1997 . p. 265-280. DOI: https://doi.org/10.5753/sbes.1997.24053.