Detail publikace
SHADOWS - Deliverable D3.2.1: Research Report on Methodology for Self-Healing Concurrent Code Fixing
Letko Zdeněk, Ing., Ph.D. (CK-SZZ)
Tzoref Rachel
Ur Shmuel
Vojnar Tomáš, prof. Ing., Ph.D. (UITS)
Self-healing, concurrency, bug fixing, methodology.
Metodologie pro automatické opravy chyb má čtyři kroky: detekce problému, lokalizace problému, oprava prolému a ověření korektnosti opravy. V této zprávě popisujeme, jak jsme tuto obecnou metodologii přizpůsobili pro automatické opravování chyb souvisejících s paralelizmem. Nejdříve ukážeme, jak nástroje ConTest přispívá k lepšímu testování paralelního softwaru: ConTest nám dovoluje monitorovat paralelní Java programy za běhu a vkládat šum, který zvyšuje pravděpodobnost objevení chyb souvisejících s paralelizmem. S využitím nástroje ConTest jsme vyvinuli specializovaný nástroj pro detekci a lokalizaci tzv. data races (data races jsou poměrně časté chyby, které je značně obtížné odhalit). Dále jsme navrhli metodu pro lokalizaci chyb souvisejících s praralelizmem, která je založena na statistickém vyhodnocování velkého počtu testů. Na základě studia nejčastějších programátorských chyb souvisejících s paralelizmem jsme identifikovali možné opravy, které by mohly být provedeny automaticky bez zásahu člověka. V závěru jsme shrnuli pořadavky, možnosti a očekávané problémy při oveřování korektnosti automaticky provedených oprav, přičemž hodláme za tímto účelem využít formální metody jako model checking a statickou analýzu.
@techreport{BUT57726,
author="Bohuslav {Křena} and Zdeněk {Letko} and Rachel {Tzoref} and Shmuel {Ur} and Tomáš {Vojnar}",
title="SHADOWS - Deliverable D3.2.1: Research Report on Methodology for Self-Healing Concurrent Code Fixing",
year="2007",
publisher="European Comission EU",
address="Brno",
pages="13"
}