You are here

Comparing non-adequate test suites using coverage criteria

TitleComparing non-adequate test suites using coverage criteria
Publication TypeConference Paper
Year of Publication2013
AuthorsGligoric, M., A. Groce, C. Zhang, R. Sharma, M A. Alipour, and D. Marinov
Conference NameProceedings of the 2013 International Symposium on Software Testing and Analysis - ISSTA 2013
Date Published07/2013
PublisherACM Press
Conference LocationLugano, Switzerland
ISBN Number9781450321594

A fundamental question in software testing research is how to compare test suites, often as a means for comparing test-generation techniques. Researchers frequently compare test suites by measuring their coverage. A coverage criterion C provides a set of test requirements and measures how many requirements a given suite satisfies. A suite that satisfies 100% of the (feasible) requirements is C-adequate.

Previous rigorous evaluations of coverage criteria mostly focused on such adequate test suites: given criteria C and C′, are C-adequate suites (on average) more effective than C′-adequate suites? However, in many realistic cases producing adequate suites is impractical or even impossible. We present the first extensive study that evaluates coverage criteria for the common case of non-adequate test suites: given criteria C and C′, which one is better to use to compare test suites? Namely, if suites T1, T2 . . . Tn have coverage values c1, c2 . . . cn for C and c′1, c′2 . . . c′n for C′, is it better to compare suites based on c1, c2 . . . cn or based on c′1, c′ 2 . . . c′n?

We evaluate a large set of plausible criteria, including statement and branch coverage, as well as stronger criteria used in recent studies. Two criteria perform best: branch coverage and an intra-procedural acyclic path coverage.