paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Fuzzing for CPS Mutation Testing

面向CPS变异测试的模糊测试
ASE 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)2023匹配度 2/10 · 该论文研究C/C++ CPS软件的变异测试,利用模糊测试替代符号执行来生成测试数据,属于软件测试/程序分析邻近领域,但既不涉及LLM/Agent,也不涉及用户核心关注的静态分析、浮点程序分析或贝叶斯程序分析。虽然CPS可能涉及浮点,但论文未将浮点作为分析对象。引用 3 inbox
Jaekwon Lee, Enrico Viganò, Oscar Cornejo, Fabrizio Pastore, Lionel Briand
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出基于模糊测试的变异测试方法,为C/C++ CPS软件生成测试数据,显著杀死更多变异体。

变异测试有助于降低安全关键CPS嵌入式软件的发布故障风险,但面向C/C++的现有测试数据生成依赖符号执行,常因无法处理黑盒组件等限制而不可用。本文提出基于模糊测试的变异测试方法:利用fuzzing自动生成多样输入,以不同方式覆盖分支和语句,进而在多样程序状态下最大化杀死变异体的概率。作者在轨卫星系统软件组件上开展实证评估,发现该方法杀死的存活变异体比例显著高于符号执行,最高多47个百分点;当符号执行不可用时,fuzzing最多杀死41%的变异体。这是首个比较fuzzing与符号执行用于变异测试的研究,为专用工具开发提供指导。

问题
现有C/C++变异测试的测试数据生成依赖符号执行,受可扩展性与黑盒组件等限制,难以有效杀死变异体。
方法
提出以模糊测试生成多样测试输入,通过在不同程序状态下覆盖程序分支和语句,最大化杀死变异体的概率。
评估
在轨卫星系统软件组件上进行实证评估,fuzzing比符号执行最高多杀死47个百分点的存活变异体,符号执行不可用时最多杀死41%的变异体。
原文摘要(Abstract)

Mutation testing can help reduce the risks of releasing faulty software. For such reason, it is a desired practice for the development of embedded software running in safety-critical cyber-physical systems (CPS). Unfortunately, state-of-the-art test data generation techniques for mutation testing of C and C++ software, two typical languages for CPS software, rely on symbolic execution, whose limitations often prevent its application (e.g., it cannot test black-box components). We propose a mutation testing approach that leverages fuzz testing, which has proved effective with C and C++ software. Fuzz testing automatically generates diverse test inputs that exercise program branches in a varied number of ways and, therefore, exercise statements in different program states, thus maximizing the likelihood of killing mutants, our objective. We performed an empirical assessment of our approach with software components used in satellite systems currently in orbit. Our empirical evaluation shows that mutation testing based on fuzz testing kills a significantly higher proportion of live mutants than symbolic execution (i.e., up to an additional 47 percentage points). Further, when symbolic execution cannot be applied, fuzz testing provides significant benefits (i.e., up to 41% mutants killed). Our study is the first one comparing fuzz testing and symbolic execution for mutation testing; our results provide guidance towards the development of fuzz testing tools dedicated to mutation testing.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@inproceedings{abs-2308-07949,
  title = {Fuzzing for CPS Mutation Testing},
  author = {Jaekwon Lee and Enrico Viganò and Oscar Cornejo and Fabrizio Pastore and Lionel Briand},
  booktitle = {ASE},
  year = {2023},
  doi = {10.1109/ase56229.2023.00079}
}