arif21-cgo.pdf (327.64 kB)
Cinnamon: a domain-specific language for binary profiling and monitoring
conference contribution
posted on 2023-06-09, 23:27 authored by Mahwish Arif, Ruoyu Zhou, Hsi-Ming HoHsi-Ming Ho, Timothy M JonesBinary 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.
History
Publication status
- Published
File Version
- Accepted version
Journal
2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)Publisher
IEEEExternal DOI
Page range
103-114Event name
International Symposium on Code Generation and Optimization (CGO)Event location
Seoul, Korea (South)Event type
conferenceEvent date
27 Feb.-3 March 2021ISBN
9781728186146Department affiliated with
- Informatics Publications
Notes
© 2021 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other worksFull text available
- Yes
Peer reviewed?
- Yes
Legacy Posted Date
2021-03-26First Open Access (FOA) Date
2021-03-26First Compliant Deposit (FCD) Date
2021-03-26Usage metrics
Categories
No categories selectedKeywords
Licence
Exports
RefWorks
BibTeX
Ref. manager
Endnote
DataCite
NLM
DC