Numerical code uses floating-point arithmetic and necessarily suffers from roundoff and truncation errors. Error analysis is the process to quantify such uncertainty. Forward err...
We present Topaz, a new task-based language for computations that execute on approximate computing platforms that may occasionally produce arbitrarily inaccurate results. Topaz ma...
We introduce a program logic for specifying a core sequential subset of the POSIX file system and for reasoning abstractly about client programs working with the file system. Th...
We present a complete end-to-end dynamic analysis system for finding data races in mobile Android applications. The capabilities of our system significantly exceed the state of ...
Previous work has shown how to insert fences that enforce sequential consistency. However, for many concurrent algorithms, sequential consistency is unnecessarily strong and can l...
MIT App Inventor is a web service that enables users with little to no previous programming experience to create mobile applications using a visual blocks language. We analyze a s...
This paper proposes the idea of Trace Register Allocation, a register allocation approach that is tailored for just-intime (JIT) compilation in the context of virtual machines wit...
Abstract Interpreters Reusable Metatheory for Program Analysis David Darais University of Maryland Matthew Might University of Utah David Van Horn University of Maryland
In approximate computing, programs gain efficiency by allowing occasional errors. Controlling the probabilistic effects of this approximation remains a key challenge. We propose ...
Brett Boston, Adrian Sampson, Dan Grossman, Luis C...
ng complex Abstract Syntax Trees (ASTs) typically requires large amounts of tedious boilerplate code. For many operations most of the code simply walks the structure, and only a s...
Haoyuan Zhang, Zewei Chu, Bruno C. d. S. Oliveira,...