SEMar 29, 2021

Adversarial Specification Mining

arXiv:2103.15350v17 citations
Originality Incremental advance
AI Analysis

This work addresses the challenge of generating comprehensive test suites for software systems, particularly for stateful protocols, by improving specification mining through adversarial methods, though it is incremental in nature.

The paper tackles the problem of mining accurate temporal specifications from execution traces by proposing adversarial specification mining with DICE, which uses counterexample-guided test generation to improve diversity and a new inference algorithm, resulting in higher-quality specifications and increased coverage in fuzzing stateful protocol servers.

There have been numerous studies on mining temporal specifications from execution traces. These approaches learn finite-state automata (FSA) from execution traces when running tests. To learn accurate specifications of a software system, many tests are required. Existing approaches generalize from a limited number of traces or use simple test generation strategies. Unfortunately, these strategies may not exercise uncommon usage patterns of a software system. To address this problem, we propose a new approach, adversarial specification mining, and develop a prototype, DICE (Diversity through Counter-Examples). DICE has two components: DICE-Tester and DICE-Miner. After mining Linear Temporal Logic specifications from an input test suite, DICE-Tester adversarially guides test generation, searching for counterexamples to these specifications to invalidate spurious properties. These counterexamples represent gaps in the diversity of the input test suite. This process produces execution traces of usage patterns that were unrepresented in the input test suite. Next, we propose a new specification inference algorithm, DICE-Miner, to infer FSAs using the traces, guided by the temporal specifications. We find that the inferred specifications are of higher quality than those produced by existing state-of-the-art specification miners. Finally, we use the FSAs in a fuzzer for servers of stateful protocols, increasing its coverage.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes