面向多线程程序的内存安全运行时验证 |
| |
作者姓名: | 陈韬 王明明 |
| |
作者单位: | 南京航空航天大学计算机科学与技术学院,江苏南京,211106;南京航空航天大学计算机科学与技术学院,江苏南京,211106 |
| |
基金项目: | 江苏省普通高校研究生科研创新计划项目 |
| |
摘 要: | Linux操作系统、嵌入式系统、航电系统、通信系统等一般都是用C/C++语言进行编写。因为C语言具有偏底层硬件、移植性强、执行效率高等优秀特性。但是随着多核并行机的出现,许多语言也开始支持多线程编程。由于C语言本身存在着对内存访问时,不对内存边界进行检查的问题,从而造成软件系统相关的可靠性和安全性问题。对多线程C语言程序来说,由于多线程程序的不确定性,使得运行时验证多线程C程序的内存安全问题变得更加困难。通过使用基于改进的指针运行时验证技术、多核多线程技术、并行计算、无锁数据结构技术、源代码插桩技术方法,并结合开源工具Clang编译器实现原型工具Movec对多线程C程序的支持。该工具实现了对多线程C程序内存安全问题的运行时验证。然后通过Mibench和SARD测试用例进行实验,验证了该工具对多线程C程序进行运行时验证的有效性。
|
关 键 词: | 多线程 多核 无锁数据结构 运行时验证 源代码插桩 编程语言 |
本文献已被 维普 万方数据 等数据库收录! |
| 点击此处可从《计算技术与自动化》浏览原始摘要信息 |
|
点击此处可从《计算技术与自动化》下载全文 |
|