Publication Details
Dynamic Validation of Contracts in Concurrent Code
Vojnar Tomáš, prof. Ing., Ph.D. (DITS)
Letko Zdeněk, Ing., Ph.D. (CM-SFE)
Lourenco Joao (FIT)
concurrency, contracts, dynamic analysis, atomicity violation
With multi-core processors present in every newer computer, multi-threaded programs are becoming increasingly common. However, multi-threaded programs require proper synchronisation to restrict the thread interleavings and make the program produce correct results. Atomicity violations are a class of errors which result from an incorrect definition of the scope of an atomic region. Such errors are usually hard to localize and diagnose, which becomes even harder when using a (third-party) software library where it is unknown to the programmer how to form the atomic regions correctly when accessing the library. One way to address the problem of proper atomicity is to associate a contract with each program library. In general, a contract defines a sequence of method calls that must be executed atomically. In this paper, we devise a technique for dynamic validation of contracts at program run time.
@inproceedings{BUT120022,
author="Jan {Fiedor} and Tomáš {Vojnar} and Zdeněk {Letko} and Joao {Lourenco}",
title="Dynamic Validation of Contracts in Concurrent Code",
booktitle="Proceedings of EUROCAST'15",
year="2015",
series="Lecture Notes in Computer Science",
volume="9520",
pages="555--564",
publisher="Springer Verlag",
address="Heidelberg",
doi="10.1007/978-3-319-27340-2\{_}69",
isbn="978-3-319-27339-6",
url="http://dx.doi.org/10.1007/978-3-319-27340-2_69"
}