申请/专利权人:南京大学
申请日:2024-01-11
公开(公告)日:2024-04-02
公开(公告)号:CN117806976A
主分类号:G06F11/36
分类号:G06F11/36;G06F18/213
优先权:
专利状态码:在审-实质审查的生效
法律状态:2024.04.19#实质审查的生效;2024.04.02#公开
摘要:本发明提出了一种增强特征的安全冗余排错检查去除方法。该方法主要包含以下步骤:1将用户代码转换为LLVM中间表示;2识别出代码中的排错检查;3计算出每个检查分支的静态特征,在计算静态特征时包括额外的操作符的特征;4执行测试用例得到每个分支的动态特征;5根据分支间的动态特征与静态特征判定分支是否冗余,去除冗余的排错检查。本发明利用了增强的特征来识别冗余的排错检查,提高了冗余排错检查去除方法的安全性。
主权项:1.一种基于增强特征的安全的冗余排错检查去除方法。其特征在于,将程序转换为LLVM中间表示后,对其中的分支变量进行数据依赖分析,得到数据依赖树。记录数据依赖树中各节点对应的操作数及操作符,作为该分支的静态特征。通过插桩统计,记录每个分支在测试用例上的运行数据,作为动态特征。最后,综合静态与动态特征作为分支特征,利用分支特征判断分支的冗余性。本方法主要包括以下步骤:1将用户编写的源代码转化为LLVM中间表示;2在中间表示程序中进行分支识别,识别出的分支供下一步分析;3对于识别到的分支,分析该分支涉及到的变量间的数据依赖。对分支中的变量,获得其数据依赖树。每个节点数据依赖于它的子节点,同时记录该节点中变量表达式用到的操作符;4对于每个变量的数据依赖树,收集其中记录的叶子节点变量,以及所有节点的操作符,作为该变量对应分支的静态特征;5在每个排错检查处插入统计代码,记录该分支的执行情况,作为动态特征;6在测试用例上执行插入了统计代码的程序,记录动态特征;7在冗余去除阶段,同时考虑动态特征和静态特征,作为该分支的特征。利用初始化为空的集合存储所有不冗余的检查。
全文数据:
权利要求:
百度查询: 南京大学 一种基于增强特征的安全冗余排错检查去除方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。