PROGRAM MATCHING THROUGH CODE ANALYSIS AND ARTIFICIAL NEURAL NETWORKS
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.
artificial neural network program analysis control flow analysis