Print Email Facebook Twitter Expressing Intent Title Expressing Intent: An evaluation of the Arm Machine Readable Specification Author Kloppenburg, Jeroen (TU Delft Electrical Engineering, Mathematics and Computer Science) Contributor Chakraborty, S.S. (mentor) Langendoen, K.G. (graduation committee) Degree granting institution Delft University of Technology Corporate name Delft University of Technology Programme Computer Science Date 2023-07-11 Abstract The behaviour of software is intrinsically linked to the hardware it runs on. As hardware innovations continuously change the landscape of computing, software has to adapt to these changes. Running legacy software on new hardware requires either the old hardware to be emulated, or a very time-consuming and error-prone process of reverse engineering the software to determine its behaviour, and then writing new software that has the same behaviour, but runs on the new hardware. Binary lifting and translation tools aim to automate this process, but are often limited by the lack of accurate and complete instruction semantics.This project aims to evaluate the feasibility of using the Arm Machine Readable Specification to aid in this process. The specification is a machine-readable description of the Arm architecture, including self-proclaimed "executable" instruction semantics, written in a specification language called ASL. This project has created an emulator that can run Arm instructions on a non-Arm architecture, using the specification to determine the behaviour of the instructions. The emulator is able to run simple programs with little context, but is not yet able to run more complex programs, due to the lack of support for behaviour that depends on the specific hardware implementation, and context dependencies outside of the instruction set, such as operating system interactions.This emulation based solely on the specification has demonstrated that it is a promising approach to reason about the behaviour of Arm programs, but it is not complete enough to be used for binary lifting and translation. The context dependency of executables, and the lack of implementation specific behaviour in the specification are the main reasons for this. Subject SpecificationARMBinary TranslationEmulationFormal specification To reference this document use: http://resolver.tudelft.nl/uuid:146b06aa-6f18-4da7-8558-47a064ee8480 Part of collection Student theses Document type master thesis Rights © 2023 Jeroen Kloppenburg Files PDF Thesis_Expressing_Intent.pdf 364.89 KB Close viewer /islandora/object/uuid:146b06aa-6f18-4da7-8558-47a064ee8480/datastream/OBJ/view