Publication result detail

Dynamic Validation of Contracts in Concurrent Code

FIEDOR, J.; VOJNAR, T.; LETKO, Z.; LOURENCO, J.

Original Title

Dynamic Validation of Contracts in Concurrent Code

English Title

Dynamic Validation of Contracts in Concurrent Code

Type

Paper in proceedings (conference paper)

Original Abstract

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.

English abstract

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.

Keywords

concurrency, contracts, dynamic analysis, atomicity violation

Key words in English

concurrency, contracts, dynamic analysis, atomicity violation

Authors

FIEDOR, J.; VOJNAR, T.; LETKO, Z.; LOURENCO, J.

RIV year

2016

Released

17.12.2015

Publisher

Springer Verlag

Location

Heidelberg

ISBN

978-3-319-27339-6

Book

Proceedings of EUROCAST'15

Edition

Lecture Notes in Computer Science

Volume

9520

Pages from

555

Pages to

564

Pages count

10

URL

BibTex

@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"
}