[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/2819009.2819184acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Static analysis of concurrent higher-order programs

Published: 16 May 2015 Publication History

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.

References

[1]
Armin Biere, Alessandro Cimatti, Edmund M Clarke, Ofer Strichman, and Yunshan Zhu. Bounded model checking. Advances in computers, 58:117--148, 2003.
[2]
Jerry Burch, Edmund M Clarke, and David Long. Symbolic model checking with partitioned transition relations. Computer Science Department, page 435, 1991.
[3]
Jerry R Burch, Edmund M Clarke, Kenneth L McMillan, David L Dill, and Lain-Jinn Hwang. Symbolic model checking: 10 20 states and beyond. In Logic in Computer Science, 1990. LICS'90, Proceedings., Fifth Annual IEEE Symposium one, pages 428--439. IEEE, 1990.
[4]
Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith. Progress on the state explosion problem in model checking. In Informatics, pages 176--194. Springer, 2001.
[5]
Guy Gueta, Cormac Flanagan, Eran Yahav, and Mooly Sagiv. Cartesian partial-order reduction. Springer, 2007.
[6]
Matthew Might and David Van Horn. A family of abstract interpretations for static analysis of concurrent higher-order programs. In Static Analysis, pages 180--197. Springer, 2011.
[7]
Doron Peled. Ten years of partial order reduction. In Computer Aided Verification, pages 17--28. Springer, 1998.
[8]
Quentin Stievenart. Static analysis of concurrent constructs in higher-order programs. Master's thesis, Université Libre de Bruxelles, Belgium, 2014.
[9]
David Van Horn and Matthew Might. Abstracting abstract machines. In ACM Sigplan Notices, volume 45, pages 51--62. ACM, 2010.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '15: Proceedings of the 37th International Conference on Software Engineering - Volume 2
May 2015
1058 pages

Sponsors

Publisher

IEEE Press

Publication History

Published: 16 May 2015

Check for updates

Qualifiers

  • Research-article

Conference

ICSE '15
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 60
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Jan 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media