Visible to the public Biblio

Filters: Author is Minas Charalambides, University of Illinois at Urbana-Champaign  [Clear All Filters]
2015-11-23
Peter Dinges, University of Illinois at Urbana-Champaign, Minas Charalambides, University of Illinois at Urbana-Champaign, Gul Agha, University of Illinois at Urbana-Champaign.  2013.  Automated Inference of Atomic Sets for Safe Concurrent Execution. 11th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering .

Atomic sets are a synchronization mechanism in which the programmer specifies the groups of data that must be ac- cessed as a unit. The compiler can check this specifica- tion for consistency, detect deadlocks, and automatically add the primitives to prevent interleaved access. Atomic sets relieve the programmer from the burden of recognizing and pruning execution paths which lead to interleaved ac- cess, thereby reducing the potential for data races. However, manually converting programs from lock-based synchroniza- tion to atomic sets requires reasoning about the program’s concurrency structure, which can be a challenge even for small programs. Our analysis eliminates the challenge by automating the reasoning. Our implementation of the anal- ysis allowed us to derive the atomic sets for large code bases such as the Java collections framework in a matter of min- utes. The analysis is based on execution traces; assuming all traces reflect intended behavior, our analysis enables safe concurrency by preventing unobserved interleavings which may harbor latent Heisenbugs.

Minas Charalambides, University of Illinois at Urbana-Champaign, Peter Dinges, University of Illinois at Urbana-Champaign, Gul Agha, University of Illinois at Urbana-Champaign.  2012.  Parameterized Concurrent Multi-Party Session Types. 11th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems (FOCLASA 2012). 91:16-30.

Session types have been proposed as a means of statically verifying implementations of communication protocols. Although prior work has been successful in verifying some classes of protocols, it does not cope well with parameterized, multi-actor scenarios with inherent asynchrony. For example, the sliding window protocol is inexpressible in previously proposed session type systems. This paper describes System-A, a new typing language which overcomes many of the expressiveness limitations of prior work. System-A explicitly supports asynchrony and parallelism, as well as multiple forms of parameterization. We define System-A and show how it can be used for the static verification of a large class of asynchronous communication protocols.