Programming language design benefits from constructs for extending the syntax and semantics of a host language. While C’s stringbased macros empower programmers to introduce no...
Sam Tobin-Hochstadt, Vincent St-Amour, Ryan Culpep...
In writing parallel programs, programmers expose parallelism and optimize it to meet a particular performance goal on a single platform under an assumed set of workload characteri...
Arun Raman, Hanjun Kim, Taewook Oh, Jae W. Lee, Da...
Compilers should be correct. To improve the quality of C compilers, we created Csmith, a randomized test-case generation tool, and spent three years using it to find compiler bug...
The most intuitive memory consistency model for shared-memory multi-threaded programming is sequential consistency (SC). However, current concurrent programming languages support ...
Daniel Marino, Abhayendra Singh, Todd D. Millstein...
Fixing software bugs has always been an important and timeconsuming process in software development. Fixing concurrency bugs has become especially critical in the multicore era. H...
We present a strictly bottom-up, summary-based, and precise heap analysis targeted for program verification that performs strong updates to heap locations at call sites. We firs...
Isil Dillig, Thomas Dillig, Alex Aiken, Mooly Sagi...
The performance benefits of GPU parallelism can be enormous, but unlocking this performance potential is challenging. The applicability and performance of GPU parallelizations is...
Thomas B. Jablin, Prakash Prabhu, James A. Jablin,...