Page 78 - 《软件学报》2026年第2期
P. 78

沈庆超 等: 智能问答系统逻辑推理测试                                                              557


                 期望数量分别为在       ChatGPT  上的  3 976、2 475、1 693  和在  ChatGLM  上的  4 097、3 456、1 513. QALT  在
                 ChatGPT  和  ChatGLM  上检测到真实缺陷的总体期望分别比          QAQA  多  1 501  和  2 283  个, 比  QAAskeR  多  641  和
                 1 941  个. 因此, QALT  比  QAQA  和  QAAskeR  有更强的缺陷检测能力, 且能够测试智能问答系统的逻辑推理能力.
                 此外, 我们将在未来的工作中进一步降低             QALT  的误报率.
                  5.2.2    针对问题  2  的结果分析
                    QALT  有  3  个关键的组件: 蜕变关系设计、测试输入自然性增强策略和基于依存句法分析的选择策略. 为了
                 验证每个组件对整体方法的效果, 研究问题              2  分别探索了关键变异位置/选择策略对自然性的影响、不同蜕变关
                 系对揭错能力影响和选择策略对真阳性的影响.
                    ● 选择策略对自然性的影响. 本文使用的关键变异位置选择策略和名词词组选择策略旨在提升                               QALT  生成测
                 试用例的自然性. 自然的测试输入应该有正确的语法和流畅的语义                      [17] . 为了验证选择策略的有效性, 我们使用随
                 机策略替换的选择策略构造一个            QALT  的变体. 通过将二者所生成测试用例中的描述性语句与原始测试输入中
                 各个句子的平均余弦相似度作为衡量指标, 比较测试输入的自然性. 需要注意的是, 本文统计了各个测试数据集中
                 上下文的平均余弦相似度作为基准用于数据的归一化. 表                  3  展现了不同选择策略生成测试输入的自然性.

                                            表 3 不同选择策略生成测试输入的自然性

                              选择方法           BoolQ        SQuAD2         NarQA        平均值
                               QALT           0.75          0.72          0.66         0.71
                              随机选择            0.65          0.60          0.55         0.60

                    从表  3  中可以看出, 测试输入自然性增强方法使得             QALT  技术产生了更自然的测试输入. 具体来说, QALT           相
                 较于随机选择的实验, 使得插入句子的余弦相似度平均提升至                    0.71, 这意味着  QALT  的测试输入具有更好的可读
                 性, 所检测到的缺陷也更具备研究意义. 尽管自然性较低的测试输入也能够检测到缺陷, 但是由于检测到的缺陷在
                 现实生活中不常见, 所以缺陷的危害等级较低. 因此, 使用自然的测试输入检测危害更强的缺陷更有意义. 此外, 由
                 于余弦相似度衡量了插入句子与测试输入之间的相关程度, 余弦相似度越大, 说明二者之间的相似程度越高. 当余
                 弦相似度取值为      1  时, 说明二者之间完全一致, 没有任何不一样的语义信息, 但在测试输入中显然不存在上述情
                 况. 因此, 0.71  对于文本相似度来说是一个相对较大的值, 这说明二者在余弦空间中相对接近, 共享一定的语义内
                 容或存在相似的上下文.
                    ● 不同蜕变关系的缺陷检测能力. 本研究提出              3  种蜕变关系, 包括两种基于一阶变异和一种基于高阶变异的
                 蜕变关系. 因此, 我们需要对每个蜕变关系执行独立的测试任务, 以评估各个蜕变关系的缺陷检测能力. 具体而言,
                 针对每种蜕变关系, 本研究为测试集中的每个种子独立生成新的测试输入, 并记录每种蜕变关系检测到的缺陷数
                 量. 由于选择结果会影响       ERQC  测试用例生成的成功率        (需要两次选择), 为了实现不同变异算子之间公平的比较,
                 我们关闭了    QALT  中的基于依存分析的选择策略, 分别单独执行蜕变关系, 并对比它们的揭错能力. 表                         4  给出了
                 每种蜕变关系检测到缺陷的数量和比例.

                                          表 4 每个蜕变关系检测到缺陷的数量与揭错率

                                          BoolQ           SQuAD2            NarQA             总和
                  待测软件      蜕变关系
                                     数量    揭错率 (%)    数量     揭错率 (%)    数量    揭错率 (%)    数量    揭错率 (%)
                             ERQ      882     27.0    3 395    28.6     936     27.0     5 213    28.0
                  ChatGPT    ERC      238     7.2     2 360    19.9     466     13.5     3 064    16.5
                             ERQC    1 006    30.8    3 634    30.6     1 053   30.4     5 693    30.6
                             ERQ      692     21.2    3 566    30.0     1 116   32.2     5 374    28.9
                  ChatGLM    ERC      249     7.6     2 107    17.7     516     14.9     2 872    15.4
                             ERQC     713     21.8    3 886    32.7     1 278   36.9     5 877    31.6

                    分析发现, 对于     ChatGLM  来说, 两种基本蜕变关系       (ERQ  和  ERC) 在  BoolQ  数据集上的缺陷检测率均较低.
                 这是因为   ChatGLM  模型的表现受测试输入长度的影响. 此外, ERQ            在所有数据集中和所有待测模型上均比               ERC
   73   74   75   76   77   78   79   80   81   82   83