Concurrent programs are notorious for containing errors that are difficult to reproduce and diagnose. Two common kinds of concurrency errors are data races and atomicity violation...
Rahul Agarwal, Amit Sasturkar, Liqiang Wang, Scott...
We propose a new language concept called "L-closures" for a running program to legitimately inspect/modify the contents of its execution stack. L-closures are lightweight...
Compilers can exploit knowledge that a variable has a fixed known value at a program point for optimizations such as code specialization and constant folding. Recent work has shown...
This paper presents recursion unrolling, a technique for improving the performance of recursive computations. Conceptually, recursion unrolling inlines recursive calls to reduce c...
We have developed new methods for log-based recovery for middleware servers which involve thread pooling, private inmemory states for clients, shared in-memory state and message i...