Page 246 - 《软件学报》2026年第5期
P. 246

张添翼 等: LLM-Extractor: 基于大语言模型的软件配置间约束提取方法                                       2125


                 我们事先人工分析了每条提示词并交叉确认答案, 完成实验后再由研究人员对实验结果进行双重评估和标注, 最
                 后整合评估结果. 实验结果如表          12  所示, 从表中我们可以发现, LLM      在此类需要结合知识经验进行推理的问题上
                 表现相对较差, 使用      GPT-4o  的实验精确率在    0.68–0.72  之间, 而使用  GPT-4o-mini 的实验精确率仅在   0.25–0.32  之
                 间, 分析实验数据我们认为        GPT-4o-mini 更倾向于认为两个功能节点之间存在依赖关系, 从而输出了更多的错误
                 依赖. 综合召回率等其他指标我们认为, LLM            在此类综合理解推理任务上的应用能力仍有待加强.


                                                      E C -E C  关联抽取实验结果
                                                表 11

                    软件名称          提示次数           模型          Precision   Recall    Accuracy    F1 score
                                              GPT-4o-mini    0.696 6     0.953 8    0.736 8     0.805 2
                    openGauss       114
                                                GPT-4o       0.879 5     0.948 1    0.912 5     0.877 2
                                              GPT-4o-mini    0.676 5     0.958 3    0.733 3     0.793 1
                    PostgreSQL      45
                                                GPT-4o       0.866 7     0.963 0    0.888 9     0.912 3
                                              GPT-4o-mini      0.5       0.846 2    0.648 6     0.628 6
                      Squid         37
                                                GPT-4o       0.764 7     0.928 6    0.864 9     0.838 7


                                                表 12   E F -E F  关联抽取实验结果

                    软件名称          提示次数           模型          Precision   Recall    Accuracy    F1 score
                                              GPT-4o-mini    0.258 1      0.8       0.324 3     0.390 2
                    openGauss       37
                                                GPT-4o       0.714 3     0.909 1    0.864 9      0.8
                                              GPT-4o-mini    0.318 2      0.7        0.6        0.437 5
                    PostgreSQL      45
                                                GPT-4o       0.684 2     0.866 7    0.822 2     0.764 7

                  4.4   LLM-Extractor 与已有程序分析方法的对比评估
                    本节将通过实验探究        LLM-Extractor 与已有程序分析方法相比各有何优劣.
                  4.4.1    对比方法和实验系统选择
                    本节选择了     cDep  方法  [13] 作为对比方法, cDep  是一种基于  Soot [53] 程序分析框架开发的配置间约束提取方法,
                 该方法可以分析使用       Java 和  Scala 语言编写的软件源代码, 通过控制流和数据流分析提取源代码中存在的软件配
                 置间约束. cDep  不仅可以提取单个软件内的配置间约束, 还能分析同软件栈内跨不同软件的配置间约束, 本节仅
                 探究单个软件中配置间约束的提取任务.
                    为了对比    LLM-Extractor 和  cDep  方法相比各有何优劣, 本节选择     HDFS [54] 作为实验系统, HDFS  是  Hadoop  生
                 态中的重要组件, 它使用       Java 编程语言编写, 并且具有完整的具有配置对应关系的配置文档, HDFS                  系统的基本情
                 况如后文表    13  所示.
                  4.4.2    LLM-Extractor 在  HDFS  上的提取效果
                    本节使用    LLM-Extractor 分析了  HDFS  配置文档  [55] 中出现的  425  个配置项, 根据文档描述构建      HDFS  文档
                 的  CFRG, 并基于该  CFRG  分析提取配置间约束, 同时本文为了比较             LLM-Extractor 与  cDep  在配置间约束提取任
                 务上的各自优劣, 还分析了        cDep  提取  HDFS  中配置依赖的实验数据, 如表       14  所示. 从实验结果可以看出, LLM-
                 Extractor 在  HDFS  系统上也表现出良好的泛化能力, 提取出          37  条配置间约束, 精确率超过       0.82, 其中绝大部分
                 (33/37) 为生效类型约束. cDep   在  Hadoop  软件栈中提取配置间约束的精确率为            87.9% [13] , 在这一项上整体优于
                 LLM-Extractor, 本文认为这得益于    cDep  较为先进的程序分析方法设计, 以及大语言模型相对不稳定的输出. 具体
                 在  HDFS  系统上, cDep  共提取出  93  条软件内配置依赖.
                    通过对二者输出结果的分析本文发现两者所提取的配置约束维度不同, 例如                             cDep  输出结果中“Control
                 Dependency, dfs.balancer.keytab.enabled, dfs.balancer.keytab.file, org.apache.hadoop.hdfs…Balancer, *”表示了一条控
                 制依赖, 但是缺乏关键的控制条件和违反后果, 需要结合进一步的人工分析和测试确认. 而                           LLM-Extractor 的输出
                 结果“dfs.datanode.peer.stats.enabled==false LeadTo NotEffect(dfs.datanode.outliers.report.interval)”中则包含了明确
   241   242   243   244   245   246   247   248   249   250   251