Janus: automatic binary analysis, instrumentation and optimisation using rewrite rules
We present an automatic binary profiling and optimisation framework to perform binary instrumentation and optimisations such as exploiting thread-level, data level, and memory-level parallelism for application binaries. A static binary analyser first examines an executable and determines the instrumentation or modification operations required, encoding them as a series of rewrite rules that a dynamic binary modifier uses to perform transformations. Rewrite rules can be lifted to a domain-specific language (DSL) so that developers can write high-level binary optimisation plugins in this framework.
In this talk, we demonstrate the performance by performing automatic parallelisation, vectorisation and software prefetching on a selection of application binaries. We also discuss our on-going work on DSL and new plugins in security and error-robustness applications.
Thu 18 JulDisplayed time zone: Belfast change
13:30 - 15:10
|Tornado VM: A Java Virtual Machine for Exploiting High-Performance Heterogeneous Hardware |
Christos Kotselidis University of Manchester, UK
|Another Decade of SOM Language Implementation: Virtual Machines for Research and Teaching|
Stefan Marr University of Kent
|Janus: automatic binary analysis, instrumentation and optimisation using rewrite rules |
|Lightweight Software Profiling of Compiled Code|
Andrew Craik IBM Canada