Affiliation:
1. School of Information Systems, Singapore Management University, Singapore
Abstract
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, Diversity through Counter-examples (DICE). 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.
Publisher
Association for Computing Machinery (ACM)
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Requirements Engineering for Trustworthy Human-AI Synergy in Software Engineering 2.0;2024 IEEE 32nd International Requirements Engineering Conference (RE);2024-06-24
2. SpecBCFuzz: Fuzzing LTL Solvers with Boundary Conditions;Proceedings of the IEEE/ACM 46th International Conference on Software Engineering;2024-04-12
3. Enchanting Program Specification Synthesis by Large Language Models Using Static Analysis and Program Verification;Lecture Notes in Computer Science;2024
4. PURLTL: Mining LTL Specification from Imperfect Traces in Testing;2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE);2023-09-11
5. PPTL specification mining based on LNFG;Theoretical Computer Science;2022-11