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

Resumo


Por meio de técnicas de engenharia reversa de código-para-modelos é possível extrair informações estruturais de códigos-fonte para um nível independente da linguagem de programação adotada. Alguns benefícios associados com essas técnicas incluem facilidade para o entendimento sobre sistemas mal documentados e também a migração (semi-)automática de aplicações de uma tecnologia para outra. Este artigo investiga a possibilidade para a extração adaptativa de características estruturais de códigos-fonte escritos em C++ para modelos UML, apresentando uma prova de conceito e discussões sobre trabalhos futuros.

Referências

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.
Publicado
22/10/2018
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: ESCOLA REGIONAL DE ENGENHARIA DE SOFTWARE (ERES), 2. , 2018, Dois Vizinhos/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2018 . p. 89-96.