Cinnamon: a domain-specific language for binary profiling and monitoring

Arif, Mahwish, Zhou, Ruoyu, Ho, Hsi-Ming and Jones, Timothy M (2021) Cinnamon: a domain-specific language for binary profiling and monitoring. International Symposium on Code Generation and Optimization (CGO), Seoul, Korea (South), 27 Feb.-3 March 2021. Published in: 2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO). 103-114. IEEE ISBN 9781728186146

[img] PDF - Accepted Version
Download (335kB)

Abstract

Binary instrumentation and rewriting frameworks provide a powerful way of implementing custom analysis and transformation techniques for applications ranging from performance profiling to security monitoring. However, using these frameworks to write even simple analyses and transformations is non-trivial. Developers often need to write framework-specific boilerplate code and work with low-level and complex programming details. This not only results in hundreds (or thousands) of lines of code, but also leaves significant room for error. To address this, we introduce Cinnamon, a domain-specific language designed to write programs for binary profiling and monitoring. Cinnamon's abstractions allow the programmer to focus on implementing their technique in a platform-independent way, without worrying about complex lower-level details. Programmers can use these abstractions to perform analysis and instrumentation at different locations and granularity levels in the binary. The flexibility of Cinnamon also enables its programs to be mapped to static, dynamic or hybrid analysis and instrumentation approaches. As a proof of concept, we target Cinnamon to three different binary frameworks by implementing a custom Cinnamon to C/C++ compiler and integrating the generated code within these frameworks. We further demonstrate the ability of Cinnamon to express a range of profiling and monitoring tools through different use-cases.

Item Type: Conference Proceedings
Schools and Departments: School of Engineering and Informatics > Informatics
SWORD Depositor: Mx Elements Account
Depositing User: Mx Elements Account
Date Deposited: 26 Mar 2021 11:43
Last Modified: 26 Mar 2021 11:43
URI: http://sro.sussex.ac.uk/id/eprint/98050

View download statistics for this item

📧 Request an update