Em Direção à Engenharia Reversa Adaptativa de Binários e Códigos para Modelo
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., 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.