Konkurrenta, objektorienterade program använder ofta trådsäkra biblioteksklasser. Befintliga tekniker för provning av en gängsäker klass förlitar sig antingen på tester som använder klassen, på formella specifikationer eller på båda. Tyvärr är dessa tekniker ofta inte helt automatiska eftersom de involverar användaren i att analysera utdata. Detta papper presenterar en automatisk testteknik som avslöjar konvergens buggar i förment trådsäkra klasser. Analysen kräver som insats endast den klass som testas och rapporterar endast sanna positiva. Nyckelidén är att generera tester där flera trådar anropar metoder på en delad instans av den testade klassen. Om ett parallellt test uppvisar ett undantag eller ett dödläge som inte kan utlösas vid något linjärt utförande av testet, rapporterar analysen ett brott mot gängornas säkerhet. Metoden är lätt att tillämpa, eftersom den är oberoende av handskrivna provningar och explicita specifikationer. Analysen finner 15 konvergensfel i populära Java-bibliotek, inklusive två tidigare okända fel i Java-standardbiblioteket.
Vår metod kontrollerar om utföra en samtidig test kan avslöja en konvergens bugg baserat på gänga säkerhet oracle REF.
Fully automatic and precise detection of thread safety violations
{'venue': "PLDI '12", 'journal': None, 'mag_field_of_study': ['Computer Science']}