Title :
Poster: Static Analysis of Concurrent Higher-Order Programs
Author :
Stievenart, Quentin ; Nicolay, Jens ; De Meuter, Wolfgang ; De Roover, Coen
Author_Institution :
Software Languages Lab., Vrije Univ. Brussel, Brussels, Belgium
Abstract :
Few static analyses support concurrent higher-order programs. Tools for detecting concurrency bugs such as deadlocks and race conditions are nonetheless invaluable to developers. Concurrency can be implemented using a variety of models, each supported by different synchronization primitives. Using this poster, we present an approach for analyzing concurrent higher-order programs in a precise manner through abstract interpretation. We instantiate the approach for two static analyses that are capable of detecting deadlocks and race conditions in programs that rely either on compare-and-swap (cas), or on conventional locks for synchronization. We observe few false positives and false negatives on a corpus of small concurrent programs, with better results for the lock-based analyses. We also observe that these programs lead to a smaller state space to be explored by the analyses. Our results show that the choice of synchronization primitives supported by an abstract interpreter has an important impact on the complexity of the static analyses performed with this abstract interpreter.
Keywords :
concurrency (computers); program diagnostics; synchronisation; abstract interpreter; compare-and-swap; concurrency bug detection; deadlock detection; lock-based analysis; race conditions; static concurrent higher-order program analysis; synchronization primitives; Adaptation models; Concurrent computing; Explosions; Model checking; Programming; Synchronization; System recovery; abstract interpretation; concurrency; higher-order; static analysis;
Conference_Titel :
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location :
Florence
DOI :
10.1109/ICSE.2015.265