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 Jul
|13:30 - 13:55|
Christos KotselidisUniversity of Manchester, UK
|13:55 - 14:20|
Stefan MarrUniversity of Kent
|14:20 - 14:45|
|14:45 - 15:10|
Andrew CraikIBM Canada