MIT EECS — Quanta Computer Undergraduate Research and Innovation Scholar
OpenKimono: An Open-Source Instrumentation Framework for LLVM
Charles E. Leiserson
This project aims to augment the LLVM compiler with an instrumentation framework, called OpenKimono, which will support the development of analytical OK-tools including, for example, performance profilers, race detectors, memory checkers, scalability analyzers, and cache simulators. OpenKimono will avoid the overheads and complexities of binary rewriting systems, such as Valgrind, DynamoRio, and Pin, while providing similar functionality through compiler support. Its API will allow many third-party instrumentation tools to be prototyped and developed without any need for the tool developers to modify the compiler. Additionally, the proposed research will use OpenKimono to build several OK-tools, including a performance and scalability profiler, a race detector, and a cache analyzer.
There’s a huge space of interesting tools that could help developers if they weren’t prohibitively difficult to prototype and create (e.g., tools that require modifying a compiler). This project gives me the opportunity to build something really cool while solving hard problems along the way.