We present a reverse-engineering tool, called Lego, which recovers class hierarchies and composition relationships from stripped binaries. Lego takes a stripped binary as input, and uses information obtained from dynamic analysis to (i) group the functions in the binary into classes, and (ii) identify inheritance and composition relationships between the inferred classes. The software artifacts recovered by Lego can be subsequently used to understand the object-oriented design of software systems that lack documentation and source code, e.g., to enable interoperability. Our experiments show that the class hierarchies recovered by Lego have a high degree of agreement - measured in terms of precision and recall - with the hierarchy defined in the source code. © 2014 Springer-Verlag.
CITATION STYLE
Srinivasan, V., & Reps, T. (2014). Recovery of class hierarchies and composition relationships from machine code. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 8409 LNCS, pp. 61–84). Springer Verlag. https://doi.org/10.1007/978-3-642-54807-9_4
Mendeley helps you to discover research relevant for your work.