Synthesizing parameterized unit tests to detect object invariant violations

2Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Automatic test case generation techniques rely on a description of the input data that the unit under test is intended to handle. For heap data structures, such a description is typically expressed as some form of object invariant. If a program may create structures that violate the invariant, the test data generated using the invariant systematically ignores possible inputs and, thus, potentially misses bugs. In this paper, we present a technique that detects violations of object invariants. We describe three scenarios in which traditional invariant checking may miss such violations. Based on templates that capture these scenarios, we synthesize parameterized unit tests that are likely to violate invariants, and use dynamic symbolic execution to generate inputs to the synthesized tests. We have implemented our technique as an extension to Pex and detected a significant number of invariant violations in real applications. © 2014 Springer International Publishing.

Cite

CITATION STYLE

APA

Christakis, M., Müller, P., & Wüstholz, V. (2014). Synthesizing parameterized unit tests to detect object invariant violations. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 8702 LNCS, pp. 65–80). Springer Verlag. https://doi.org/10.1007/978-3-319-10431-7_6

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free