Detail publikace
Healing Data Races On-The-Fly
Letko Zdeněk, Ing., Ph.D. (CK-SZZ)
Tzoref Rachel
Ur Shmuel
Vojnar Tomáš, prof. Ing., Ph.D. (UITS)
Concurrency, Testing, Self-Healing
Autoři se domnívají, že překladem textu se mírně pozmění jehopů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épeznějící ale nepřesné "paralelní". Lze proto čtenářidoporučit, pokud to dovolují jeho znalosti angličtiny, aby si přečetlabstrakt v původním anglickém znění.
Testování souběžných programů je velice náročné. Chybysouvisející se souběžností se proto i přes značný pokrok v oblastitestová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 proautomatickou opravu chyb za běhu souběžných programů.
Souběžné chyby mají jednu velice užitečnou vlastnost proautomatickou opravu programů, a to, že se projevují pouze při určitýchproloženích instrukcí, zatímco při ostatních nikoliv. Oprava pakspočívá ve snížení pravděpodobnosti výskytu těch proložení, při kterýchse 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 tedyopravený 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ů, jsmeidentifikovali tři typy opravných akcí: (1) změnapravdě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 hodnotyproměnné "správnou" hodnotou. Dále je zde poskytnuta klasifikace závodůpodle typu opravné akce, kterou lze pro daný závod použít.
@inproceedings{BUT28803,
author="Bohuslav {Křena} and Zdeněk {Letko} and Rachel {Tzoref} and Shmuel {Ur} and Tomáš {Vojnar}",
title="Healing Data Races On-The-Fly",
booktitle="Proceedings of 5th International Workshop on Parallel and Distributed Systems: Testing and Debugging Modelling - PADTAD'07",
year="2007",
pages="54--64",
publisher="Association for Computing Machinery",
address="London",
isbn="978-1-59593-734-6"
}