Page 260 - 《软件学报》2025年第10期
P. 260

吴泊逾 等: 干扰惰性序列的连续决策模型模糊测试                                                        4657


                  5   方法有效性威胁分析

                  5.1   外部有效性

                    外部有效性威胁涉及所提出方法的通用性. IIFuzzing            的外部有效性威胁主要来自预测惰性序列时要依赖从历
                 史数据中学习到的知识        (例如, 状态序列的表示学习, 聚类的拟合以及干预点的选择等), 这些知识与被测算法和测
                 试环境都是相关的. 当面对新的测试场景时, 需要依据领域相关数据对                     IIFuzzing  的惰性预测模型进行训练或者调
                 校. 我们在  3  个仿真环境的    4  种不同类型的模型上进行了实验评估, 所选的目标模型都是当前最先进的模型, 仿真
                 环境也是学术界和工业界广泛应用的环境, 每个模糊测试周期的时间跨度设置为                         12 h, 这是实验评估的标准设置      [9,46] .
                 这些测试配置下, 根据第       4.5.1  节  RQ1  中图  3  展示的结果, 可以发现  IIFuzzing  基本上在  12 h  的测试全时段都有性
                 能优势   (#Crash), 且展现出优势不断拉大的趋势, 说明本方法的外部威胁较小, 外部有效性是可控的.
                  5.2   内部有效性
                    内部有效性威胁主要集中在           IIFuzzing  的工作机理上. 一方面, 当被测系统存在较多问题时, 测试序列的密度
                 分布情况可能并不满足本文假设, 从而导致现有的方法设计无法准确识别惰性序列进而造成方法失效. 但如果通
                 过分析能够发现该情形下惰性序列新的分布模式, 那么通过调整                     IIFuzzing  识别惰性序列的基本原理, 方法依然能
                 够应用. 另一方面, 由于在推断一个测试用例是否应该继续执行或跳过时, IIFuzzing                    会引入额外的开销, 如果单个
                 测试序列的执行时间比引入的开销还要短, IIFuzzing            减少测试资源消耗的假设将受到质疑. 据我们的观察和实验,
                 在连续决策场景中       MDP  的执行通常是耗时的, 以       MARL+CoopNavi 为例, 这是本实验中      12 h  内执行的测试轮次
                 最多的配置, 也意味每一轮测试的时间最短, 该配置每轮测试的时间平均                       611 ms, 而  IIFuzzing  惰性序列在线预测
                 的开销仅在毫秒级别, 这说明         IIFuzzing  工作机理是有效的. 此外, 我们用     MDPFuzz 方法提供的源代码来实现基线
                 模型, 以确保实验结果的正确性和公平性. 另一个限制是                 IIFuzzing  通过变异初始状态来生成多样的测试用例, 无
                 法在中间状态诱导场景中的元素以生成临界案例或意外情况. 通过变异任意中间状态来生成逼真而具有挑战性的
                 场景需要进一步探索.
                  5.3   结论有效性
                    结论有效性的威胁在于评估指标. 我们使用易于理解的指标“#Crash”和“#Test”. 为了回答                    RQ2, 我们还使用准
                 确度和召回率来评估识别         (非) 惰性状态序列的性能, 并分别呈现两个标签的双侧预测结果.
                  6   总 结


                    连续决策模型由于需要不断地和环境进行“交互-行动”的连续决策, 环境和交互的不确定性使得经典测试方
                 法追求的测试覆盖和缺陷探测效率面临极大的挑战. 模糊测试技术的基本原理是通过向目标系统提供非预期的输
                 入并监控执行结果, 以发现目标系统的缺陷. 但针对连续决策模型, 要执行的是“状态-行动”决策序列, 初始状态很
                 难影响到后续的决策序列. 模糊测试如只对初始状态                 (测试输入) 做变异, 是很难触发决策缺陷的, 这也是模糊测
                 试对连续决策模型效能不高的原因. 本文提出的               IIFuzzing, 基于表示学习和密度聚类可以准确预测模糊测试中不
                 会触发失效事故的惰性序列, 并进行自动干预, 从而扩大了资源限制条件下的测试探索空间, 并加速了失效事故的
                 探测效率.
                    下一步的工作可以基于对决策序列模式的深度学习, 尝试合理干预决策序列的中间状态, 使其导向可能的事
                 故, 以期更主动和更充分地揭示模型的决策缺陷.

                 References:
                  [1]   Markov decision process. 2024. https://en.wikipedia.org/wiki/Markov_decision_process
                  [2]   California  DMV.  Autonomous  vehicle  collision  reports.  2024.  https://www.dmv.ca.gov/portal/vehicle-industry-services/autonomous-
                     vehicles/autonomous-vehicle-collision-reports/
                  [3]   Guo JM, Jiang Y, Zhao Y, Chen Q, Sun JG. DLFuzz: Differential fuzzing testing of deep learning systems. In: Proc. of the 26th ACM
   255   256   257   258   259   260   261   262   263   264   265