Termen grammatikbaserad programvara beskriver programvara vars ingång kan specificeras genom en sammanhangsfri grammatik. Denna grammatik kan förekomma explicit i programvaran, i form av en indataspecifikation till en parsergenerator, eller implicit, i form av en handskriven parser, eller andra indataverifieringsrutiner. Grammarbaserad programvara omfattar inte bara programmeringsspråkkompilatorer, utan även verktyg för programanalys, omvänd ingenjörskonst, programvarumått och dokumentationsgenerering. Sådana verktyg spelar ofta en avgörande roll i den automatiserade mjukvaruutvecklingen, och att se till att de är fullständiga och korrekta är en viktig förutsättning för att de ska kunna användas. I detta dokument föreslår vi en strategi för konstruktion av testsviter för grammatikbaserad programvara, och illustrerar denna strategi med hjälp av ISO C ++ grammatik. Vi använder begreppet regeltäckning som en pivot för att minska implementeringsbaserade och specifikationsbaserade testsviter, och visar en betydande minskning av storleken på dessa sviter. För att visa att metoden är giltig använder vi den reducerade testsviten för att analysera tre grammatikbaserade verktyg för C ++. Vi jämför effektiviteten i den reducerade testsviten med den ursprungliga sviten när det gäller kodtäckning och feldetektering.
Detta arbete utvidgades för att mäta feldetekteringskapaciteten hos de reducerade testsviterna REF genom selektiv användning av mutationstestning.
An analysis of rule coverage as a criterion in generating minimal test suites for grammar-based software
{'venue': "ASE '05", 'journal': None, 'mag_field_of_study': ['Computer Science']}