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

548                                                        软件学报  2026  年第  37  卷第  2  期



                        种子输入
                                    测试输入生成                测试输入选择                  测试输入执行




                                             蜕变关系               依存句法分析      最终测试输入

                             上下文       问题    描述语句                              待测问答系统软件
                                                         ···
                                                                            预测答案         预期答案
                             变异位置    名词词组
                                                      新测试输入
                                                                                   相似度
                                                                                             缺陷
                                                     图 1 QALT  架构图

                  4.2   蜕变关系定义
                    在实施蜕变测试过程中, 需要建立一系列蜕变关系来支持测试过程. 鉴于智能问答系统应具备问题推理和上
                 下文推理两项核心能力, 因此, 本文分别设计了两种相应的蜕变关系. QALT                     对原始测试输入      t 进行变异的关键在
                 于不破坏    t 原始语义的前提下, 引入额外的逻辑推理关系. 具体来说, QALT                提出了两种变异规则, 分别适用于支
                 持问题推理和上下文推理的蜕变关系构建. 为了确保原始测试输入                        t 与变异测试输入      t'之间保持语义等价性,
                 QALT  变异规则的核心思想是用等价的描述性短语替换选定的目标名词词组, 并将他们之间的等价关系作为背景
                 知识嵌入测试输入中. 这种变异方法不会改变答案之间的等价关系.
                    ● MR1: 等价推理问题     (equivalence reasoning problem, ERQ). 关于智能问答系统的问题推理能力, MR1     构建
                 了一种等价推理问题的蜕变关系, 用于生成与原始测试输入问题等价的替代问题. 具体来说, 给定测试输入
                 t = {q,c}, 如果  QALT  构造出另一个输入  t = {q ,c}, 其中  q  与  q  在逻辑上语义等价, 那么被测智能问答系统应给出
                                                    ′
                                                                ′
                                                 ′
                                       ′
                 语义上一致的答案       P(t) 和  P(t ). 为了构造  q', MR1  从问题  q  中选择一个名词词组  n, 然后, 将选定的名词词组     n  输
                 入到生成模型     GTP-Neo  中生成一个描述性语句       d. d  的格式为“It is acknowledged that A is B”. 其中  A  为选定的名
                 词词组   n, B  为与  A  语义等价的描述性短语. 最后, MR1     用短语   B  替换问题  q  中的名词词组    A, 并在  q  中额外添加
                 描述性语句    d  作为推理知识源形成一个新的问题           q'. 至此, 变异后的测试输入便在原始测试输入的问题上新增了
                                                                        ′
                 一层推理关系     d ⇒ n (其中  ⇒ 表示推理关系). 这样的变异方法确保了           q  在经过逻辑推理后可以还原为          q, 同时保
                 留了原始上下文的完整语义, 不改变答案的相关性.
                    如图   2(a) 所示, QALT  将原问题“Who started the IPCC Trust Fund?”转换为“I heard that the only source of
                 funding for the IPCC is the IPCC Trust Fund. Who started the only source of funding for the IPCC?”, 通过逻辑推理, 可
                 以将问题中替换后的描述性语句还原为替换前的名词词组, 而不改变原问题的语义. 在此例中, 变异用的描述性语
                 句是“the only source of funding for the IPCC”, 被替换的名词词组是“the IPCC Trust Fund”. 为了使句子与原问题更
                 自然地融合, 本文复用了       QAQA  方法中的模板来组装句子, 例如“I heard that …”“It is acknowledged that …”.
                    ● MR2: 等价推理上下文      (equivalence reasoning context, ERC). 关于智能问答系统的上下文推理能力, MR2   构
                 建了一种等价推理上下文的蜕变关系, 用于生成与原始测试输入问题等价的替代上下文. 具体来说, 给定测试输入
                                     ′
                                ′
                                                ′
                                                                                  ′
                 t = {q,c}, 若构造出  t = {q,c }, 其中  c 与  c  在逻辑上等价, 那么在问题  q  下,   P(t) 与  P(t ) 的答案语义一致. 为了构造
                 c', MR2  选择  c 中的一个句子作为变异位置, 并从该句中选择一个名词词组                 n. 然后, 将  n  输入生成模型中得到一
                 个描述性语句     d. d  的格式为“It is acknowledged that A is B”, 其中  A  为选定的名词词组  n, B  为与  A  语义等价的描
                 述性短语. 最后, MR2    用短语   B  替换上下文   c 中的名词词组     A, 并在  c 中额外添加描述性语句       d  作为推理知识源
                 生成一个新的上下文        c'. 至此, 变异后的测试输入便在原始测试输入的上下文上新增了一层推理关系                       d ⇒ n. 这样
   64   65   66   67   68   69   70   71   72   73   74