Topological Differential Testing
Abstract
We introduce topological differential testing (TDT), an approach to extracting the consensus behavior of a set of programs on a corpus of inputs. TDT uses the topological notion of a simplicial complex (and implicitly draws on richer topological notions such as sheaves and persistence) to determine inputs that cause inconsistent behavior and in turn reveal \emph{de facto} input specifications. We gently introduce TDT with a toy example before detailing its application to understanding the PDF file format from the behavior of various parsers. Finally, we discuss theoretical details and other possible applications.
- Publication:
-
arXiv e-prints
- Pub Date:
- March 2020
- DOI:
- 10.48550/arXiv.2003.00976
- arXiv:
- arXiv:2003.00976
- Bibcode:
- 2020arXiv200300976A
- Keywords:
-
- Computer Science - Software Engineering;
- Mathematics - Algebraic Topology
- E-Print:
- Fixed Figure 5 (was flipped)