Em Direção à Engenharia Reversa Adaptativa de Binários e Códigos para Modelo

  • Gilliard Schimit UNIPAMPA
  • Guilherme Bolfe UNIPAMPA
  • Fábio Basso UNIPAMPA
  • Elder Rodrigues UNIPAMPA
  • Maicon Bernardino UNIPAMPA

Abstract


Through code-to-model reverse engenireering techniques it is possible to extract structural information from source code to a level independent of the programming language adopted. Some benefits assossiated with these techniques include ease of understanding of poorly documented systems as well as the (semi-) automatic migration of applications from one technology to another. This paper investigates the possibility for the adaptative extraction of structural characteristics from source codes written in the C++ laguague to a UML model, presenting a proof concept and discussions about future works.

References

Basso, F. P., Oliveira, T. C., and Farias, K. (2014). Extending junit 4 with java annotations and reflection to test variant model transformation assets. In 29th Symposium On Applied Computing, SAC’14, pages 1601–1608.

Basso, F. P., Oliveira, T. C., Werner, C. M., and Becker, L. B. (2017). Building the foundations for ’mde as service’. IET Software, 11:195–206(11).

Basso, F. P., Pillat, R. M., Oliveira, T. C., and Becker, L. B. (2013). Supporting large scale model transformation reuse. In 12th International Conference on Generative Programming: Concepts & Experiences., GPCE’13, pages 169–178.

Basso, F. P., Pillat, R. M., Oliveira, T. C., Roos-Frantz, F., and Frantz, R. Z. (2016). Automated design of multi-layered web information systems. Journal of Systems and Software, 117:612 – 637.

Brunelière, H., Cabot, J., Dupé, G., and Madiot, F. (2014). Modisco: A model driven reverse engineering framework. Information and Software Technology, 56(8):1012–1032. cited By 65.

D. R. Wallace, R. U. F. (1989). Software verification and validation: an overview. 6(3):10–17.

Fleurey, F., Breton, E., Baudry, B., Nicolas, A., and Jézéquel, J.-M. (2007). Modeldriven engineering for software migration in a large industrial context. In International Conference on Model Driven Engineering Languages and Systems, pages 482–497. Springer.

G. Fischer, J. Lusiardi, J. v. G. (2007). Abstract syntax trees – and their role in model driven software development. pages 1–6.

Kelly, S. and Tolvanen, J.-P. (2008). Domain Specific Modeling: Enabling Full Code Generation. IEEE Computer Society - John Wiley & Sons.

Korshunova, E., Petkovic, M., g. j. V. Den Brand, M., and Mousavi, M. R. (2006). Cpp2xmi: Reverse engineering of uml class, sequence, and activity diagrams from c++ source code. In 2006 13th Working Conference on Reverse Engineering, pages 297–298.

Méndez-Acuña, D., Galindo, J. A., Combemale, B., Blouin, A., and Baudry, B. (2017).

Reverse engineering language product lines from existing dsl variants. Journal of Systems and Software, 133:145 – 158.

Parr, T. (2013). The Definitive Antlr 4 Reference. Pragmatic Bookshelf; Edição: 2 (25 de janeiro de 2013).

Sanchez, C. Cpp14 grammar. https://github.com/antlr/grammars-v4/tree/master/cpp. Acessado em: 03/07/2018.
Published
2018-10-22
SCHIMIT, Gilliard; BOLFE, Guilherme; BASSO, Fábio; RODRIGUES, Elder; BERNARDINO, Maicon. Em Direção à Engenharia Reversa Adaptativa de Binários e Códigos para Modelo. In: REGIONAL SCHOOL OF SOFTWARE ENGINEERING (ERES), 2. , 2018, Dois Vizinhos/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2018 . p. 89-96.