[论文解读] Complementing Model Learning with Mutation-Based Fuzzing
本文提出在最小充分教师(Minimally Adequate Teacher)框架下,将基于变异的模糊测试与模型学习相结合,以改进反应式系统中有限状态机(FSM)推理的反例发现。通过将模糊测试与合规性测试及学习算法结合,该方法在RERS挑战问题中实现了对可达错误状态的更好覆盖;在可达性任务中,模糊测试发现的错误多于传统方法,同时在LTL验证中确认了成功。
An ongoing challenge for learning algorithms formulated in the Minimally Adequate Teacher framework is to efficiently obtain counterexamples. In this paper we compare and combine conformance testing and mutation-based fuzzing methods for obtaining counterexamples when learning finite state machine models for the reactive software systems of the Rigorous Exampination of Reactive Systems (RERS) challenge. We have found that for the LTL problems of the challenge the fuzzer provided an independent confirmation that the learning process had been successful, since no additional counterexamples were found. For the reachability problems of the challenge, however, the fuzzer discovered more reachable error states than the learner and tester, albeit in some cases the learner and tester found some that were not discovered by the fuzzer. This leads us to believe that these orthogonal approaches are complementary in the context of model learning.
研究动机与目标
- 解决在最小充分教师框架下高效获取反例的挑战。
- 克服合规性测试的局限性,后者依赖于对FSM大小的先验上界,且计算成本较高。
- 评估基于变异的模糊测试作为反例生成的替代或补充技术的有效性。
- 评估模糊测试在发现可达错误状态及验证所学模型在真实反应式系统中有效性。
- 展示模糊测试与传统学习/测试方法在模型推理流程中的互补性。
提出的方法
- 将基于变异的模糊测试器(AFL)与LearnLib集成,以生成并演化目标反应式系统的测试输入。
- 扩展AFL以通过共享内存捕获并暴露系统输出,从而实现与LearnLib输入-输出模型的兼容。
- 使用AFL的fork服务器隔离并重启每个查询的目标进程,支持有状态系统的交互。
- 将模糊测试用于独立生成测试序列,随后将其作为等价性查询使用。
- 将模糊测试与合规性测试及L*学习相结合,以验证和优化FSM假设。
- 基于代码覆盖率和输出差异设计适应度函数,以指导变异并优先处理有趣的测试用例。
实验结果
研究问题
- RQ1在FSM大小未知上界的情况下,基于变异的模糊测试是否能有效发现反例?
- RQ2在反应式系统中,模糊测试与合规性测试在可达错误状态覆盖方面表现如何?
- RQ3模糊测试与传统学习/测试方法在发现错误状态方面,重叠或互补的程度如何?
- RQ4模糊测试能否作为模型学习成功与否的独立验证机制?
- RQ5作为等价性查询预言机使用模糊测试时,对学习时间与查询次数的性能影响如何?
主要发现
- 在RERS 2016挑战的LTL问题中,模糊测试未发现任何合规测试未找到的新反例,确认了学习过程的正确性。
- 在可达性问题中,模糊测试发现的可达错误状态多于学习者与测试者——例如,在问题1中,模糊测试发现了29/29个错误状态,而合规测试仅发现19/29个。
- 在某些情况下,学习者与测试者发现了模糊测试未发现的错误状态,表明覆盖范围存在非重叠部分。
- 使用模糊测试作为等价性预言机显著减少了学习时间:在问题1中,使用模糊测试学习耗时21秒,而使用W方法测试需13小时。
- 模糊测试显著减少了所需查询数:在问题1中,模糊测试仅需16,731次查询,而W方法测试需2.46×10⁸次查询。
- 模糊测试实现了更高的状态模型准确率(例如,在问题1中,模糊测试得到1,027个状态,而W方法仅得25个),表明模型保真度更高。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。