Darko Marinov, UIUC (X10 team contact: Steve Fink)

New parallel programming languages, such as X10, make it easier to develop more reliable parallel code. However, despite the advances in parallel programming languages, developing parallel code remains challenging, with common bugs including atomicity violations, dataraces, and deadlocks. Software testing remains the most widely used approach for finding such bugs. This project proposes to parallelize systematic testing in and for X10. First, we plan to develop in X10 a parallel state-space exploration framework, which we will initially use for Java programs. Second, we plan to instantiate this framework for X10 programs, i.e., for systematic testing of programs written in X10. The benefits of the project are twofold. First, it will provide a state-space exploration framework in X10, which is interesting code in itself, e.g., as a performance benchmark. Second, it will provide a testing tool for X10, which can help in developing more reliable X10 programs and in teaching about X10.