-
题名一种基于高阶函数摘要的依赖簇检测方法
- 1
-
-
作者
杨嘉毅
张迎周
李俊锋
马锐
汪全盛
薛渝川
-
机构
南京邮电大学计算机学院、软件学院、网络空间安全学院
-
出处
《电子学报》
EI
CAS
CSCD
北大核心
2024年第4期1337-1348,共12页
-
基金
国家自然科学基金(No.62272214)。
-
文摘
依赖簇是相互依赖的程序组件的最大集合,依赖簇中任意一点产生变动都会引起其他组件的连锁反应.在实际生产环境中,依赖簇检测对于软件理解、测试、维护具有非常重要的意义.传统的依赖簇检测方法基于系统依赖图(System Dependence Graph,SDG)实现过程间依赖关系的计算.但是SDG的构建过程比较复杂,时间空间的占用比较大.为提高依赖簇检测的效率并减少空间占用,本文提出了一种有效的轻量级依赖簇检测方法.该方法通过构建每个过程高阶函数形式的函数摘要,将形参和全局变量的数据依赖作为摘要参数,并用函数摘要的参数初始化过程内依赖信息.通过在调用点处对高阶函数形式的摘要进行实例化,即可将调用过程的依赖关系通过摘要参数进行传递,从而获取过程间的依赖信息.为了进一步提升检测效率,我们还提出了基于自适应计算的依赖簇检测优化策略,该策略可以减少因函数的递归调用产生的相关冗余计算.本文选取了不同规模不同领域的工程项目和基准测试集进行相关对比实验,结果表明:基于高阶函数的依赖簇检测方法相比系统依赖图的检测方法,能够提升2.689倍的分析效率并减少35.7%的空间占用;基于自适应计算的依赖簇检测优化策略在高阶函数方法的基础上能够减少56.7%的冗余计算,提升23.9%的分析效率.
-
关键词
依赖簇
高阶函数
自适应计算
系统依赖图
形式概念分析
-
Keywords
dependence cluster
higher-order function
adaptive computing
system dependence graph
formal con-cept analysis
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-