Detail publikace
Dynamic Validation of Contracts in Concurrent Code
Vojnar Tomáš, prof. Ing., Ph.D. (UITS)
Letko Zdeněk, Ing., Ph.D. (CK-SZZ)
Lourenco Joao (FIT)
concurrency, contracts, dynamic analysis, atomicity violation
Jelikož vícevláknové procesory jsou dnes již standardní součástí nových počítačů, vícevláknové programy jsou stále běžnější. Ovšem vícevláknové programy vyžadují správnou synchronizaci jednotlivých vláken, aby poskytovaly správné výsledky. Porušení atomičnosti je typ chyby, ke které dochází při nesprávné definici rozsahu atomické sekce. Tyto chyby jsou obtížně odhalitelné, hlavně v případech použití knihoven třetích stran, kde programátor neví jak správně vytvářet atomické sekce při přístupu k dané knihovně. Jedna z možností jak řešit problém správné atomičnosti je asociovat kontrakt s danou knihovnou. Kontrakt je sekvence metod, které musí být vykonány atomicky. V tomto článku navrhujeme metodu pro dynamickou validaci kontraktů za běhu programu.
@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"
}