Compiled Domain Specific Languages are taking over various high-performance domains because of their ability to exploit the domain knowledge and apply optimizations that produce the most specialized code. A lot of research has gone into making DSLs more performant and easy to prototype. But the Achilles heel for DSLs is still the lack of debugging support that provides an end-to-end picture to the user and improves the productivity of both the DSL designer and the end-user. Conventional techniques extend the compilers, the debugging information format, and the debuggers themselves to provide more information than what the debugger can provide when attached to the generated code. Such an approach quickly stops scaling as adding extensions to large and complex debuggers hampers DSL designer productivity. We present D2X, a DSL debugging infrastructure that works with most standard debuggers without any modifications and is easily extensible to capture all the domain specific information the end-user cares about. We show that we can add debugging support to the state-of-the-art graph DSL GraphIt with as little as 1.4% changes to the compiler code base. We also apply our techniques to a meta-programming DSL framework BuildIt so that any DSLs built on top of BuildIt get debugging support without any modifications further boosting the productivity of future DSL designers.
Tue 28 FebDisplayed time zone: Eastern Time (US & Canada) change
13:30 - 15:10 | Session 5 -- Domain-Specific Compilation and DebuggingMain Conference at Montreal 1-2-3 Chair(s): Teresa Johnson Google | ||
13:30 26mTalk | Compiling Functions onto Digital Microfluidics Main Conference DOI | ||
13:56 26mTalk | Fine-Tuning Data Structures for Query Processing Main Conference Amir Shaikhha University of Edinburgh, Marios Kelepeshis University of Oxford, Mahdi Ghorbani University of Edinburgh DOI | ||
14:22 26mTalk | D2X: An eXtensible conteXtual Debugger for Modern DSLs Main Conference Ajay Brahmakshatriya Massachusetts Institute of Technology, Saman Amarasinghe Massachusetts Institute of Technology DOI |