Ing. Zdeněk Letko, Ph.D.

KŘENA Bohuslav, LETKO Zdeněk, TZOREF-BRILL Rachel, UR Shmuel a VOJNAR Tomáš. Healing Data Races On-The-Fly. In: Proceedings of 5th International Workshop on Parallel and Distributed Systems: Testing and Debugging Modelling - PADTAD'07. London: Association for Computing Machinery, 2007, s. 54-64. ISBN 978-1-59593-734-6.
Jazyk publikace:angličtina
Název publikace:Healing Data Races On-The-Fly
Název (cs):Healing Data Races On-The-Fly
Strany:54-64
Sborník:Proceedings of 5th International Workshop on Parallel and Distributed Systems: Testing and Debugging Modelling - PADTAD'07
Konference:PADTAD - Parallel and Distributed Systems: Testing and Debugging
Místo vydání:London, GB
Rok:2007
ISBN:978-1-59593-734-6
Vydavatel:Association for Computing Machinery
Klíčová slova
Concurrency, Testing, Self-Healing
Anotace
Autoři se domnívají, že překladem textu se mírně pozmění jeho původní smysl. Zejména problematický je překlad odborných termínů, které nemají v češtině zažitý ekvivalent. Například slovo "concurrent" lze přeložit přesně jako "souběžný" nebo jako lépe znějící ale nepřesné "paralelní". Lze proto čtenáři doporučit, pokud to dovolují jeho znalosti angličtiny, aby si přečetl abstrakt v původním anglickém znění.

Testování souběžných programů je velice náročné. Chyby související se souběžností se proto i přes značný pokrok v oblasti testování a ověřování poměrně často dostávají až k zákazníkovi. V tomto článku popíšeme techniky vyvinuté v rámci nástroje ConTest pro automatickou opravu chyb za běhu souběžných programů.

Souběžné chyby mají jednu velice užitečnou vlastnost pro automatickou opravu programů, a to, že se projevují pouze při určitých proloženích instrukcí, zatímco při ostatních nikoliv. Oprava pak spočívá ve snížení pravděpodobnosti výskytu těch proložení, při kterých se chyba projevuje. Pokud omezením proložení nezpůsobíme uváznutí, můžeme si být jisti, že jsme opravou nezpůsobili novou chybu a že tedy opravený program bude dávat stejné výsledky jako program původní.

V této práci, která se věnuje různým typům datových závodů, jsme identifikovali tři typy opravných akcí:  (1) změna pravděpodobnosti proložení přidáním příkazů sleep či yield nebo úpravou priorit vláken (2) odstranění proložení pomocí sychronizačních primitiv jako jsou zámky či wait-notify (3) oprava důsledku "špatného proložení" nahrazením hodnoty proměnné "správnou" hodnotou. Dále je zde poskytnuta klasifikace závodů podle typu opravné akce, kterou lze pro daný závod použít.

BibTeX:
@INPROCEEDINGS{
   author = {Bohuslav K{\v{r}}ena and Zden{\v{e}}k Letko and
	Rachel Tzoref-Brill and Shmuel Ur and
	Tom{\'{a}}{\v{s}} Vojnar},
   title = {Healing Data Races On-The-Fly},
   pages = {54--64},
   booktitle = {Proceedings of 5th International Workshop on Parallel and
	Distributed Systems: Testing and Debugging Modelling -
	PADTAD'07},
   year = {2007},
   location = {London, GB},
   publisher = {Association for Computing Machinery},
   ISBN = {978-1-59593-734-6},
   language = {english},
   url = {http://www.fit.vutbr.cz/research/view_pub.php.cs?id=8372}
}

Vaše IPv4 adresa: 54.172.234.236