PROGRAM MATCHING THROUGH CODE ANALYSIS AND ARTIFICIAL NEURAL NETWORKS
Tiago Marques do Nascimento, Davidson R. Boccardo, Charles Bezerra do Prado, Raphael C. S. Machado, Luiz Fernando Rust da Costa Carmo · International Journal of Software Engineering and Knowledge Engineering · 2012
Program matching refers to the mapping between equivalent codes written in different languages — including high-level and low-level languages. This equivalence is useful for some software engineering scenarios such as determining whether rewritten code is correct, which version of a program is being used, and whether a malware is present in the program. In the present work, we propose a novel approach to solve the executable code traceability by using program code analysis and artificial neural networks. From the program code analysis we obtained execution behavior properties of the codes, and from the artificial neural networks we judge about their correspondence. Our evaluation using real code examples shows an acceptable correspondence rate between 62% and 100% with the very low rate of 4% false positives.