Toolset and Program Repository for Code Coverage-Based Test
Suite Analysis and Manipulation
Dávid Tengeri, Árpád Beszédes, Dávid Havas and
Tibor Gyimóthy
Code coverage is often used in academic and industrial
practice of white-box software testing. Various test optimization
methods, e.g. test selection and prioritization, rely on code
coverage information, but other related fields benefit from it as
well, such as fault localization. These methods require access to
the fine details of coverage information and efficient ways of
processing this data. The purpose of the (free) SoDA library and
toolset is to provide an efficient set of data structures and
algorithms which can be used to prepare, store and analyze in
various ways data related to code coverage. The focus of SoDA is
not on the calculation of coverage data (such as instrumentation
and test execution) but on the analysis and manipulation of test
suites based on such information. An important design goal of the
library was to be usable on industrial-size programs and test
suites. Furthermore, there is no limitation on programming
language, analysis granularity and coverage criteria. In this
paper, we demonstrate the purpose and benefits of the library, the
associated toolset, which also includes a graphical user
interface, as well as possible usage scenarios. SoDA also includes
a repository of prepared programs, which are from small to large
sizes and can be used for experimentation and as a benchmark for
code coverage related research.
Keywords: Regression
testing, test suite analysis, test suite optimization, code
coverage, program repository.
Back