×

SAFE代码

swMATH ID: 13323
软件作者: Dhurjati,D.,Kowshik,S.,Adve,V。
描述: SAFECode:对弱类型语言实施别名分析。对弱类型语言(如C和C++)中的程序进行静态分析通常是不正确的,因为悬空指针引用、未初始化指针和数组边界溢出可能导致内存错误。我们描述了一种标准C程序的编译策略,该策略确保主动的过程间指针分析(或不太精确的)、调用图和内存子集的类型信息永远不会因任何可能的内存错误而无效。我们将我们的方法形式化为一个新的类型系统,在操作语义中进行必要的运行时检查,并证明我们的方法对于C子集的正确性。我们的语义为其他复杂的静态分析应用于C程序提供了基础,并保证了其可靠性。我们的工作基于先前发布的名为“自动池分配”的转换,以确保难以检测的内存错误(悬空指针引用和某些数组边界错误)不会使调用图、指向信息或类型信息无效。我们的方法背后的关键见解是,池分配可以用于创建内存的运行时分区,该分区与点到图中的编译时内存分区相匹配,并且可以使用有效的检查来隔离运行时分区。此外,我们还表明,声音分析信息支持消除许多运行时检查的静态检查技术。我们的方法不需要更改源代码,允许对内存进行有计划的管理,并且不使用指针上的元数据或内存的单个标记位。使用几个基准测试和系统代码,我们通过实验证明运行时开销很低(小于10
主页: http://safecode.cs.illinois.edu/
关键词: 验证;SAFE代码;有限责任公司;存储器安全
相关软件: CCured公司;Coq公司;有限责任公司
引用于: 4文件
更多出版物: http://safecode.cs.illinois.edu/pubs.html

按年份列出的引文