-
题名Fortran内存泄漏静态检测方法研究
被引量:1
- 1
-
-
作者
罗坤
金大海
宫云战
-
机构
北京邮电大学网络与交换技术国家重点实验室
-
出处
《小型微型计算机系统》
CSCD
北大核心
2024年第7期1778-1786,共9页
-
基金
国家自然科学基金项目(U1736110)资助.
-
文摘
内存泄漏在没有垃圾回收机制的语言中是常见的问题,虽然Fortran95引入ALLOCATABLE数组解决了部分泄漏问题,但是通过指针申请内存资源仍然会造成泄漏,现有研究对Fortran内存泄漏的检测流程适配度不高且面向Fortran内存状态分析的效率和精确度上仍存在优化空间.针对这一问题,本文提出了一种面向Fortran指针引发的内存泄漏静态检测方法.首先引入指针引用控制流图(PR-CFG,Pointer Reference-Control Flow Graph)来精简程序模型,并符号化程序节点的内存状态信息,依据数据流生成路径敏感的符号化函数摘要作用于过程间分析,最终通过PR-CFG节点上由抽象内存状态计算得到的内存状态集进行故障模式状态机的状态转化来实现内存泄漏的检测.实验表明,本方法提高了Fortran指针引发内存泄漏的检测精度和效率,降低了检测的误报率.
-
关键词
Fortran指针
内存泄漏检测
PR-CFG
符号化函数摘要
抽象内存状态计算
-
Keywords
fortran pointer
memory leak detection
PR-CFG
symbolic function summary
abstract memory state calculation
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-
-
题名基于区域内存模型的C程序静态分析
被引量:9
- 2
-
-
作者
董玉坤
金大海
宫云战
邢颖
-
机构
网络与交换技术国家重点实验室(北京邮电大学)
中国石油大学(华东)计算机与通信工程学院
-
出处
《软件学报》
EI
CSCD
北大核心
2014年第2期357-372,共16页
-
基金
国家自然科学基金(91318301
61202080)
国家高技术研究发展计划(863)(2012AA011201)
-
文摘
为了提高程序的静态分析精度,提出了一种应用基于区域的符号化三值逻辑(region-based symbolic threevalued logic,简称RSTVL)的静态分析方法.RSTVL能够描述C程序运行时内存中数据结构的形态信息与变量的存储状态,以及可寻址表达式间的各种关系,包括指向关系、层次关系与取值逻辑关系.为了提高静态分析的精度,提出了一种基于RSTVL的流敏感、域敏感的过程内分析与基于符号化函数摘要的上下文敏感的过程间分析,能够精确地分析出每个程序点上的形态信息、数据流信息与指针指向关系.实验结果表明,相对于基于符号化三值逻辑的方法,该分析方法在保证一定分析效率的前提下,能够实现较高准确度的分析.
-
关键词
可寻址表达式
内存模型
静态分析
符号化函数摘要
缺陷检测
-
Keywords
addressable expression
memory model
static analysis
symbolic function summary
defect detection
-
分类号
TP311
[自动化与计算机技术—计算机软件与理论]
-