In the X10 language, computations are modeled as lightweight threads called activities. Since most operating systems only offer relatively heavyweight kernel-level threads, the X1...
Manuel Mohr, Sebastian Buchwald, Andreas Zwinkau, ...
We propose the APGAS library for Java 8. Inspired by the core constructs and semantics of the Resilient X10 programming language, APGAS brings many benefits of the X10 programmin...
Distributed systems are difficult to implement correctly because they must handle both concurrency and failures: machines may crash at arbitrary points and networks may reorder, ...
James R. Wilcox, Doug Woos, Pavel Panchekha, Zacha...
We present Code Phage (CP), a system for automatically transferring correct code from donor applications into recipient applications that process the same inputs to successfully e...
Stelios Sidiroglou-Douskos, Eric Lahtinen, Fan Lon...
Subtle concurrency errors in multithreaded libraries that arise because of incorrect or inadequate synchronization are often difficult to pinpoint precisely using only static tech...
Scientific and engineering applications depend on floating point arithmetic to approximate real arithmetic. This approximation introduces rounding error, which can accumulate to...
Pavel Panchekha, Alex Sanchez-Stern, James R. Wilc...
Compilers should not miscompile. Our work addresses problems in developing peephole optimizations that perform local rewriting to improve the efficiency of LLVM code. These optim...
Nuno P. Lopes, David Menendez, Santosh Nagarakatte...
We extend the Leon verification system for Scala with support for bitvector reasoning, thus addressing one of its fundamental soundness limitation with respect to the treatment o...
We address the compiler correctness problem for many-core systems through novel applications of fuzz testing to OpenCL compilers. Focusing on two methods from prior work, random d...
Christopher Lidbury, Andrei Lascu, Nathan Chong, A...