Abstract
Algorithm recognition, which is the problem of verifying whether a programimplements a given algorithm, is an important topic in program analysis. This
work is in the continuity of the framework for algorithm recognition in binary
code defined in [25]. This article describes a transformation based approach
to compare algorithms written in Horn clauses. We propose a decompiler that
translate Java bytecode programs (.jar) into a declarative CLP representation
based on Horn clauses. The first purpose of this decompiler is to act as the
front-end of the framework described in [25]. The particularity of the approach
presented here is that we propose a direct translation between bytecode instructions
and the declarative representation (i.e. without an intermediate representation).
Keywords
Decompiler, Java Virtual Machine (JVM), Constraint Logic Programming (CLP),Horn
clauses, Bytecode.
Date of Award | 23 Jun 2017 |
---|---|
Original language | English |
Awarding Institution |
|
Supervisor | Anthony Cleve (President) & Wim Vanhoof (Supervisor) |