Iterable Forward Reachability Analysis of Monitor-DPNs

Nordhoff Benedikt, Müller-Olm Markus, Lammich Peter

Research article (book contribution) | Peer reviewed

Abstract

There is a close connection between data-flow analysis and model checking as observed and studied in the nineties by Steffen and Schmidt. This indicates that automata-based analysis techniques developed in the realm of infinite-state model checking can be applied as data-flow analyzers that interpret complex control structures, which motivates the development of such analysis techniques for ever more complex models. One approach proposed by Esparza and Knoop is based on computation of predecessor or successor sets for sets of automata configurations. Our goal is to adapt and exploit this approach for analysis of multi-threaded Java programs. Specifically, we consider the model of Monitor-DPNs for concurrent programs. Monitor-DPNs precisely model unbounded recursion, dynamic thread creation, and synchronization via well-nested locks with finite abstractions of procedure- and thread-local state. Previous work on this model showed how to compute regular predecessor sets of regular configurations and tree-regular successor sets of a fixed initial configuration. By combining and extending different previously developed techniques we show how to compute tree-regular successor sets of tree-regular sets. Thereby we obtain an iterable, lock-sensitive forward reachability analysis. We implemented the analysis for Java programs and applied it to information flow control and data race detection.

Details about the publication

PublisherBanerjee A, Danvy O, Doh K, Hatcliff J
Book titleSemantics, Abstract Interpretation, and Reasoning about Programs: Essays Dedicated to David A. Schmidt on the Occasion of his Sixtieth Birthday
Page range384-403
Publishing companySelbstverlag / Eigenverlag
Place of publicationManhattan, Kansas, USA
Title of seriesElectronic Proceedings in Theoretical Computer Science
Volume of series129
StatusPublished
Release year2013 (19/09/2013)
Language in which the publication is writtenEnglish
DOI10.4204/EPTCS.129.24

Authors from the University of Münster

Müller-Olm, Markus
Professorship for practical computer science (Prof. Müller-Olm)
Nordhoff, Benedikt
Professorship for practical computer science (Prof. Müller-Olm)