基于改进GN算法的程序控制流图划分方法
2018-10-18分类号:TP309
【部门】北京理工大学计算机学院软件安全工程技术北京市重点实验室
【摘要】针对控制流图规模过大导致的程序分析准确度和效率不够理想的问题,该文提出了一种用于控制流图划分的改进GN(Girvan-Newman)算法,在边介数计算中加入点权值作为参数,使划分所得各子图的规模更加平衡;通过动态控制子图的规模,在合适的时机提前终止算法执行,提高执行效率。利用angr工具对二进制程序进行分析所得到的控制流图,分别采用改进GN算法、K-means算法、谱聚类算法和朴素凝聚算法进行实验,比较不同算法对控制流图划分结果中的模块度以及均衡性等指标,证明改进GN算法具有最佳的划分结果和执行效率。
【关键词】程序分析 控制流图划分 聚类 GN算法
【基金】国家重点研发计划项目(2016QY07X1404)
【所属期刊栏目】清华大学学报(自然科学版)
文献传递