Detail publikace

Dynamic Validation of Contracts in Concurrent Code

Originální název

Dynamic Validation of Contracts in Concurrent Code

Anglický název

Dynamic Validation of Contracts in Concurrent Code

Jazyk

en

Originální abstrakt

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.

Anglický abstrakt

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.

BibTex


@inproceedings{BUT119823,
  author="Jan {Fiedor} and Zdeněk {Letko} and Tomáš {Vojnar} and Joao {Lourenco}",
  title="Dynamic Validation of Contracts in Concurrent Code",
  annote="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.",
  address="The Universidad de Las Palmas de Gran Canaria",
  booktitle="Proceedings of the 15th International Conference on Computer Aided Systems Theory",
  chapter="119823",
  edition="NEUVEDEN",
  howpublished="print",
  institution="The Universidad de Las Palmas de Gran Canaria",
  year="2015",
  month="february",
  pages="177--178",
  publisher="The Universidad de Las Palmas de Gran Canaria",
  type="conference paper"
}