Towards exhaustive branch coverage with PathCrawler
Branch coverage of source code is a very widely used test criterion. Moreover, branch coverage is a similar problem to line coverage, MC/DC and the coverage of assertion violations, certain runtime errors and various other types of test objective. Indeed, establishing that a large number of test objectives are unreachable, or conversely, providing the test inputs which reach them, is at the heart of many verification tasks. However, automatic test generation for exhaustive branch coverage remains an elusive goal: many modern tools obtain high coverage scores without being able to provide an explanation for why some branches are not covered, such as a demonstration that they are unreachable. Concolic test generation offers the promise of exhaustive coverage but covers paths more efficiently than branches. In this paper I explain why, and propose different strategies to improve its performance on exhaustive branch coverage. A comparison of these strategies on examples of real code shows promising results.
Thu 20 MayDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
12:00 - 13:15 | |||
12:00 30mLong-paper | Automatic Property-based Testing of GraphQL APIs AST 2021 Stefan Karlsson ABB AB, Mälardalen University, Adnan Causevic Mälardalen University, Daniel Sundmark Mälardalen University Pre-print Media Attached | ||
12:30 30mLong-paper | Automated Performance Testing Based on Active Deep Learning AST 2021 Ali Sedaghatbaf RISE Research Institutes of Sweden, Mahshid Helali Moghadam RISE Research Institutes of Sweden , Mehrdad Saadatmand RISE Research Institutes of Sweden Pre-print Media Attached | ||
13:00 15mShort-paper | Towards exhaustive branch coverage with PathCrawler AST 2021 Nicky Williams CEA - LIST Pre-print Media Attached |
Go directly to this room on Clowdr