一个符号执行工具的C++语言扩展
发布时间:2022-01-01 21:04
当今世界,软件已经在我们的生活和生产中发挥着基础性的作用。与其重要性相伴的,是人类对软件安全日益增加的重视。对于那些安全攸关的大型软件系统,为了保证其安全可靠,已经有各种各样的方法被发明出来用以避免由此带来的损失。符号执行是一种在特定领域十分有效的用来提高软件质量的方法。符号执行以对变量的约束代替具体数值对程序进行模拟执行,用相对低的代价达到较高的路径覆盖率,以自动化的生成测试例以及搜寻程序中的缺陷。ShapeChecker是一个面向C语言的符号执行分析器,利用Clang作为前端,对由源代码编译得到的LLVM中间表示进行符号执行分析,可以找出程序中诸如访问越界、悬垂指针和算术溢出这样的错误。作为一种基础性的编程语言,由于其使用领域的敏感性和相对其他主流编程语言的脆弱性,C++一直是静态分析软件所关注的重点。在本文中,为了使ShapeChecker分析器能够对C++语言的程序进行分析,我们对其提出了一系列修改和扩展,包含:·一组在符号执行过程中引入标记和使用类型信息的方法,使用类型信息辅助分析的过程;·一组对ShapeChecker断言语言和执行状态的扩展,使其能够支持对包含异常处理特性...
【文章来源】:中国科学技术大学安徽省 211工程院校 985工程院校
【文章页数】:76 页
【学位级别】:硕士
【部分图文】:
图4.1异常对象的结构??
【参考文献】:
期刊论文
[1]C程序分析工具中程序切片的设计与实现[J]. 蒋刚,李兆鹏. 小型微型计算机系统. 2018(03)
[2]C程序精确形状分析中的规范语言设计[J]. 朱玲,李兆鹏,梁家彪,邓维. 小型微型计算机系统. 2016(04)
[3]支持形状分析的符号执行引擎的设计与实现[J]. 梁家彪,李兆鹏,朱玲,沈咸飞. 计算机科学. 2016(03)
本文编号:3562842
【文章来源】:中国科学技术大学安徽省 211工程院校 985工程院校
【文章页数】:76 页
【学位级别】:硕士
【部分图文】:
图4.1异常对象的结构??
【参考文献】:
期刊论文
[1]C程序分析工具中程序切片的设计与实现[J]. 蒋刚,李兆鹏. 小型微型计算机系统. 2018(03)
[2]C程序精确形状分析中的规范语言设计[J]. 朱玲,李兆鹏,梁家彪,邓维. 小型微型计算机系统. 2016(04)
[3]支持形状分析的符号执行引擎的设计与实现[J]. 梁家彪,李兆鹏,朱玲,沈咸飞. 计算机科学. 2016(03)
本文编号:3562842
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3562842.html