[发明专利]一种基于程序切片技术的C语言死代码检测方法在审
申请号: | 201710137147.9 | 申请日: | 2017-03-09 |
公开(公告)号: | CN106951366A | 公开(公告)日: | 2017-07-14 |
发明(设计)人: | 张迎周;王星;尹秀;陈星昊;赵莲 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京知识律师事务所32207 | 代理人: | 张芳 |
地址: | 210003 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开一种基于程序切片技术的C语言死代码检测方法,主要包括步骤将源代码中的输出语句与所述输出语句中的变量集合组成切片准则<n,V>,对源代码分别进行静态后向程序切片分析和动态后向程序切片分析,得到的分析结果经对比,得出是否存在死代码的结论。本发明能够有效的检测出C语言代码中包含的死代码语句,同时提高了检测的准确率和效率。 | ||
搜索关键词: | 一种 基于 程序 切片 技术 语言 代码 检测 方法 | ||
【主权项】:
一种基于程序切片技术的C语言死代码检测方法,其特征在于,包括以下步骤:步骤1、获取可能包含死代码的C语言源代码;步骤2、将所述源代码中的输出语句与所述输出语句中的变量集合组成切片准则<n,V>,其中n是源代码中的输出语句,V是n中的变量集合,<n,V>表示当前关心的是语句n上、集合V中变量对应的计算;步骤3、根据步骤2中的切片准则对所述源代码进行静态后向程序切片分析,获得程序切片准则与语句n处、集合V中的变量存在直接或间接的控制依赖或数据依赖的语句集A1;步骤4、对源代码进行符号执行,获得程序切片所有可能的执行路径,通过约束求解器计算得到每条路径下满足谓词条件的输入值;步骤5、以所述输入值作为程序切片的输入,根据所述切片准则对所述源代码进行动态后向程序切片分析,获得程序切片在执行时与切片准则有关的语句集A2;步骤6、比较A1和A2,如果A1和A2中包含的语句相同,则源代码中不存在死代码;如果A1和A2中包含的语句不同,则A1中存在但A2中不存在的语句即为死代码。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710137147.9/,转载请声明来源钻瓜专利网。