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 上半部分的

