J. Kranz, A. Sepp and A. Simon. GDSL: A Universal Toolkit for Giving Semantics to Machine Language. In C. Shan, editor, Asian Symposium on Programming Languages and Systems, Melbourne, Australia, December 2013. Springer.

The static analysis of executable programs has gained importance due to the need to audit larger and larger programs for security vulnerabilities or safety violations. The basis for analyzing executables is the decoding of byte sequences into assembler instructions and giving a semantics to them. We use our domain specific language GDSL that facilitates this task to specify Intel x86 semantics. In particular, we show how simple optimizations of the generated code can drastically reduce its size. Moreover, since these optimizations are also written in GDSL they can be re-used with other processor front-ends. Hence, analyses based on our toolkit can be adapted to several architectures with little change.

Download: PDF Reference: Bibtex The original publication is available at www.springerlink.com