Symbolic Deadlock Analysis in Concurrent Libraries and Their Clients

Methods in object-oriented concurrent libraries hide internal synchronization details. However, information hiding may result in clients causing thread safety violations by invoking methods in an unsafe manner. Given such a library, we present a technique for inferring interface contracts that speci...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:2009 IEEE/ACM International Conference on Automated Software Engineering s. 480 - 491
Hlavní autoři: Deshmukh, J., Emerson, E.A., Sankaranarayanan, S.
Médium: Konferenční příspěvek
Jazyk:angličtina
Vydáno: IEEE 01.11.2009
Témata:
ISBN:1424452597, 9781424452590
ISSN:1938-4300
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:Methods in object-oriented concurrent libraries hide internal synchronization details. However, information hiding may result in clients causing thread safety violations by invoking methods in an unsafe manner. Given such a library, we present a technique for inferring interface contracts that specify permissible concurrent method calls and patterns of aliasing among method arguments, such that the derived contracts guarantee deadlock free execution for the methods in the library. The contracts also help client developers by documenting required assumptions about the library methods. Alternatively, the contracts can be statically enforced in the client code to detect potential deadlocks in the client. Our technique combines static analysis with a symbolic encoding for tracking lock dependencies, allowing us to synthesize contracts using a SMT solver. Our prototype tool analyzes over a million lines of code for some widely-used Java libraries within an hour, thus demonstrating its scalability and efficiency. Furthermore, the contracts inferred by our approach have been able to pinpoint real deadlocks in clients, i.e. deadlocks that have been a part of bug-reports filed by users and developers of the client code.
ISBN:1424452597
9781424452590
ISSN:1938-4300
DOI:10.1109/ASE.2009.14