文档名:一种基于高阶函数摘要的依赖簇检测方法
摘要:依赖簇是相互依赖的程序组件的最大集合,依赖簇中任意一点产生变动都会引起其他组件的连锁反应.在实际生产环境中,依赖簇检测对于软件理解、测试、维护具有非常重要的意义.传统的依赖簇检测方法基于系统依赖图(SystemDependenceGraph,SDG)实现过程间依赖关系的计算.但是SDG的构建过程比较复杂,时间空间的占用比较大.为提高依赖簇检测的效率并减少空间占用,本文提出了一种有效的轻量级依赖簇检测方法.该方法通过构建每个过程高阶函数形式的函数摘要,将形参和全局变量的数据依赖作为摘要参数,并用函数摘要的参数初始化过程内依赖信息.通过在调用点处对高阶函数形式的摘要进行实例化,即可将调用过程的依赖关系通过摘要参数进行传递,从而获取过程间的依赖信息.为了进一步提升检测效率,我们还提出了基于自适应计算的依赖簇检测优化策略,该策略可以减少因函数的递归调用产生的相关冗余计算.本文选取了不同规模不同领域的工程项目和基准测试集进行相关对比实验,结果表明:基于高阶函数的依赖簇检测方法相比系统依赖图的检测方法,能够提升2.689倍的分析效率并减少35.7%的空间占用;基于自适应计算的依赖簇检测优化策略在高阶函数方法的基础上能够减少56.7%的冗余计算,提升23.9%的分析效率.
Abstract:Dependenceclustersarethelargestsetsofinterdependentprogramcomponents,whereanychangeinonepointoftheclustercantriggerachainreactioninothercomponents.Inpracticalproductionenvironments,detectingdepen-denceclustersisofgreatimportanceforsoftwareunderstanding,testing,andmaintenance.Traditionaldependenceclusterde-tectionmethodsrelyonthesystemdependencegraph(SDG)tocalculatedependencies,However,constructinganSDGisacomplexprocessthatincurssignificanttimeandspacecostswhenanalyzinglargeprograms.Inordertoimprovetheefficien-cyofclusterdetection,thispaperproposesalight-weightandefficientdependenceclusterdetectionmethodbasedonhigher-orderfunctions,whichcanavoidconstructingSDGintheanalysis.Thismethodconstructsafunctionsummaryintheformofahigher-orderfunctionforeachprocedure,wherethedatadependenciesofformalparametersandglobalvariablesareusedtoinitializethedependenceinsidetheprocedure.Thedependenceclusterinformationbetweenprocedurescanbeobtainedbyin-stantiatingthefunctionsummaryandpassingthedependencethroughsummaryparametersatthecallsite,whichavoidstheconstructionofanSDG.Tofurtherimprovetheanalysisefficiencyofthehigher-orderfunction-baseddetectionmethod,weproposeanoptimizationstrategybasedonadaptivecomputing,whichsignificantlyreducestheredundantcalculationscausedbythemutualrecursivecallsbetweenfunctions.Intheend,weselectbenchmarktestsetswithdifferentscalesandfieldsandconductrelevantexperiments,whichdemonstratethattheproposedprogramdependenceclusterdetectionmethodbasedonhigher-orderfunctionscanimproveanalysisefficiencyby268.9%andreducespaceusageby35.7%comparedwiththedetec-tionmethodbasedonSDG.Theoptimizationstrategybasedonadaptivecomputingcanreduceredundantcalculationsby56.7%andimproveanalysisefficiencyby23.9%comparedwiththemethodbasedonhigher-orderfunctions.
作者:杨嘉毅 张迎周 李俊锋 马锐 汪全盛 薛渝川Author:YANGJia-yi ZHANGYing-zhou LIJun-feng MARui WANGQuan-sheng XUEYu-chuan
作者单位:南京邮电大学计算机学院、软件学院、网络空间安全学院,江苏南京210023
刊名:电子学报 ISTICEIPKU
Journal:ActaElectronicaSinica
年,卷(期):2024, 52(4)
分类号:TP311
关键词:依赖簇 高阶函数 自适应计算 系统依赖图 形式概念分析
Keywords:dependencecluster higher-orderfunction adaptivecomputing systemdependencegraph formalcon-ceptanalysis
机标分类号:TP311TG44O241.82
在线出版日期:2024年6月26日
基金项目:一种基于高阶函数摘要的依赖簇检测方法[
期刊论文] 电子学报--2024, 52(4)杨嘉毅 张迎周 李俊锋 马锐 汪全盛 薛渝川依赖簇是相互依赖的程序组件的最大集合,依赖簇中任意一点产生变动都会引起其他组件的连锁反应.在实际生产环境中,依赖簇检测对于软件理解、测试、维护具有非常重要的意义.传统的依赖簇检测方法基于系统依赖图(SystemDep...参考文献和引证文献
参考文献
引证文献
本文读者也读过
相似文献
相关博文
一种基于高阶函数摘要的依赖簇检测方法 A Dependence Clusters Detection Method Based on Higher-Order Function Summary
一种基于高阶函数摘要的依赖簇检测方法.pdf
- 文件大小:
- 8.22 MB
- 下载次数:
- 60
-
高速下载
|
|