Adversarial Specification Mining

03/29/2021
by   Hong Jin Kang, et al.
0

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.

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

page 4

03/09/2022

Deep Bidirectional Transformers for SoC Flow Specification Mining

High-quality system-level message flow specifications can lead to compre...
08/24/2017

Exploring the Link Between Test Suite Quality and Automatic Specification Inference

While no one doubts the importance of correct and complete specification...
11/01/2020

Heuristic-based Mining of Service Behavioral Models from Interaction Traces

Software behavioral models have proven useful for emulating and testing ...
04/06/2022

Towards Better Test Coverage: Merging Unit Tests for Autonomous Systems

We present a framework for merging unit tests for autonomous systems. Ty...
05/22/2020

Mining Message Flows from System-on-Chip Execution Traces

Comprehensive and well-defined specifications are necessary to perform r...
01/08/2020

Learning to Encode and Classify Test Executions

The challenge of automatically determining the correctness of test execu...
02/24/2018

Time Series Learning using Monotonic Logical Properties

We propose a new paradigm for time-series learning where users implicitl...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.