About

Current practices for developing concurrent systems are rather limited. Directly using low-level concurrency constructs is the realm of experts, and is extremely error-prone. Generic higher-level constructs (e.g., transactional memory) are currently limited, and are not clearly easier to use. Analytic techniques (e.g., race detection) only address a fraction of the problems, and can only be applied after the code is written and is potentially broken beyond repair. As concurrent programming becomes prevalent, it is critical that programmers are given better tools and methodologies for developing concurrent systems. We propose a "radical" alternative to existing approaches: generate provably correct concurrent systems from higher-level specifications. To obtain this goal, we have implemented a tool called PARAGLIDER that aids a designer in a systematic derivation process of fine-grained concurrent systems.

This project involves significant challenges in concurrency, verification, and related areas. If you are interested in an internship in this area, please contact us over e-mail (mtvechev@us.ibm.com, eyahav@us.ibm.com).

Publications

Deriving Linearizable Fine-Grained Concurrent Objects
Vechev M., Yahav E
PLDI '08: ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation.
[bib] [abstract][ps][pdf][slides]
CGCExplorer: A Semi-Automated Search Procedure for Provably Correct Concurrent Collectors
Vechev M., Yahav E., Bacon D.F., and Rinetzky N.
PLDI '07: ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation.
[bib][abstract][ps][pdf][slides]
Correctness-Preserving Derivation of Concurrent Garbage Collection Algorithms
Vechev M., Yahav E., and Bacon D.F.
PLDI '06: ACM SIGPLAN 2006 Conference on Programming Language Design and Implementation.
[bib][abstract][ps][pdf][slides]

 Privacy | Legal | Contact | IBM Home | Research Home | Project List | Research Sites | Page Contact