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

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



                 间约束推断步骤中, 多配置关联子图           G sub  将作为重要的上下文依据.
                 算法  2. 多配置关联子图搜索算法.
                 输入: 输入配置-功能关联图        G;

                 输出: 多配置关联子图      G sub .
                 1. function MutiConfRelationSearch(G)
                 2.  Let  L path  be the return list
                 3.  for  e Cond  in  G.E Cond  do
                 4.   Let  l path  be the relation path
                 5.   for  e C  in  G.E C  do //搜索相关配置
                 6.    if  e C RelatedTo e Cond  do
                 7.       l path ← l path +e C RelatedTo e Cond
                 8.    end if
                 9.    if  e C Require e Cond  do
                 10.       l path ← l path +e C Require e Cond
                 11.   end if
                 12.   end for
                 13.   for  e FS  in  G.E FS  do
                 14.    if  e Cond LeadTo e FS  do
                 15.       l path ← l path +e Cond LeadTo e FS
                 16.       e F ← SearchFunctionEntity(e FS ) //找到关联的功能节点
                 17.       l path ← l path +SearchDenpendentPath(e F ) //搜索该功能节点的依赖关系
                 18.     for  e FS_Other  in  e F .Status do
                 19.      if  e C Require e FS_Other  do
                 20.          l path ← l path +e C Require e FS_Other
                 21.      end if
                 22.     end for
                 23.    end if
                 24.   end for
                 25.   if CountConf( l path ) >1 do

                 26.      L path ← L path +l path
                 27.   end if
                 28.  end for
                 29.    G sub ← GetSubGraph(G,  L path )
                 30.  return   L path
                 31. end function

                  3.2.2    配置间约束推断
                    完成多配置关联子图搜索之后, LLM-Extractor 将多配置关联子图作为上下文提供给                     LLM, 引导  LLM  推断可
                 能存在的配置间约束关系. 根据第          2.2.1  节经验研究的相关发现, 我们把软件配置约束分为如下               3  种类型.
                    ● 配置生效约束. 配置生效约束指一个配置项的生效会受到其他配置项的影响, 这种影响关系可能通过软件
                 功能实体的状态传递, 即       E C -E F -E C , 也可能直接体现为软件配置项的直接关联, 即       E C -E C . 例如在图  9  上半部分的
   235   236   237   238   239   240   241   242   243   244   245