Page 95 - 《软件学报》2026年第1期
P. 95

92                                                         软件学报  2026  年第  37  卷第  1  期


                 输入空间. 其中大多数方法的输入数据类型是图片, 种子数据集包括                      MNIST  [143] 、CIFAR-10 [144] 和  ImageNet [145]
                 等, 因此涉及的种子变换方法都是以第            3  节中讨论的图片变换方法为主.
                    DeepHunter  [146] 和  DeepConcolic [147] 都是选择基于覆盖的度量指标作为测试用例评估标准, 将最大化覆盖率指
                 标设为测试用例生成的引导方向. DeepHunter 的完整测试流程包括: 首先通过种子选择策略筛选合适种子, 随后
                 应用蜕变变异策略生成新的语义保留测试用例, 并以覆盖率指标作为反馈, 指导测试生成及新测试用例是否进一
                 步突变的决策. 目前, DeepHunter 已经集成了       5  种基于覆盖率的度量指标和        4  种种子选择策略. 与使用模糊测试方
                 法的  DeepHunter 不同, DeepConcolic 将  Concolic 测试技术应用到深度学习系统测试中. Concolic 测试结合程序执
                 行与符号分析, 以探索软件程序的执行路径, 其中符号分析能够引导程序执行, 从而以更少的执行次数发现潜在错
                 误. DeepConcolic 通过基于启发式的具体执行和符号执行, 增量地生成高覆盖率的测试用例. 相比于同样使用神经
                 元覆盖率的    DeepXplore [130] , DeepConcolic 能够在更短的时间内达到更高的覆盖率, 具有更高的测试性能.
                    此外, 研究者们也将搜索算法应用到面向深度学习模型的测试用例生成中, 例如                        DeepJanus [148] 和  DeepAtash [149] .
                 DeepJanus 针对  DNN  的行为边界实现了一个多目标进化算法, 通过产生真实的输入对被测对象的行为边界进行
                 彻底探索. 深度学习的行为边界是一组彼此相似并触发深度学习系统不同行为的输入对, 表示深度学习系统可以
                 按预期正常输出的输入区域的边界. 一个低质量的深度学习系统的行为边界可能包括有效性域相交的输入对, 而
                 高质量的深度学习系统更偏向于在面对大幅度偏离的输入时表现异常, 与有效域的交集很小或没有. 与                                DeepJanus
                 不同, DeepAtash  旨在解决开发人员需要获取应用场景中新特征数据以微调                   DNN  模型、达到所需精度水平的问
                 题. DeepAtash  支持配置不同的搜索策略       (单目标或多目标) 和稀疏度指标. 它将所需的目标特征值范围作为输入,
                 并把生成输入的稀疏度和生成输入与目标在特征图中的接近程度作为优化目标. 最终, DeepAtash                           生成具有预定
                 义特征的能够诱导被测对象产生错误行为的输入.
                  8.3   小    结
                    目前, 大多数的面向深度学习模型的测试度量指标和测试用例生成方法都是以神经元覆盖的思想为核心. 但
                 已有研究表明, 该类型的度量指标与模型质量并不一定相关, 尤其是无法体现出模型的鲁棒性、公平性等质量属
                 性  [150] . 未来, 研究人员可以着手于进一步明确覆盖度量指标与测试用例多样性之间的关系, 重点探究能够反映模
                 型质量属性的度量指标. 同时, 在保证效果的前提下, 应致力于将度量指标的计算过程轻量化, 以简化深度学习模
                 型的测试流程, 降低其在工程应用场景中的适配难度. 上述研究路线可作为当前研究的补充, 不仅能够量化深度学
                 习模型的缺陷, 还能够为在不同维度上提升模型质量提供依据和设计思路. 此外, 现有一些研究, 比如                               Aries  [150] 、
                 PACE [151] 和  CES [152] , 聚焦于深度学习模型的性能预估, 主要目的是减少数据标注成本. 尽管它们的研究重点并不
                 是如何度量测试用例, 但将此类技术与细粒度测试用例选择相结合仍具有潜力, 未来探索这一方向将有助于提升
                 测试效率与精准度.

                  9   未来研究方向

                    虽然已经有许多研究聚焦于面向智能软件系统的测试用例生成, 但当前仍然存在许多不足与挑战. 本文立足
                 于现有研究成果, 系统概括了当前面临的主要挑战, 并对未来的研究方向进行了展望, 旨在为后续工作提供思路,
                 助力智能软件系统质量的持续提升.
                  9.1   面向智能软件系统的多模态测试用例生成
                    经过系统地梳理, 本文发现当前面向智能软件系统的测试用例生成方法大多适配于文本和图像这两种数据类
                 型, 面向语音、点云等存储形式和处理方式更为复杂的数据类型的测试用例生成方法较少. 近年来, 研究人员致力
                 于将不同模态的数据进行整合, 以让智能软件系统获得更丰富、全面和准确的信息. 除了典型的自动驾驶场景, 当
                 前多模态数据的热门应用还包括: 结合文本、语音和视频数据进行情感分析与识别; 结合医学影像、病历文本和
                 生理参数进行病情评估、病灶检测与患者风险预测; 结合视频监控、传感器数据和交通事件报告实现交通拥堵检
                 测、事故预警和路径规划等任务. 因此, 面向智能软件系统的多模态测试数据生成具有较大的探索价值和空间.
   90   91   92   93   94   95   96   97   98   99   100