期刊文献+
共找到18篇文章
< 1 >
每页显示 20 50 100
基于指针映射集的动态内存故障测试方法研究 被引量:9
1
作者 张威 宫云战 +1 位作者 卢庆龄 万琳 《计算机学报》 EI CSCD 北大核心 2009年第11期2274-2281,共8页
动态内存故障在使用指针的程序中是普遍存在的,采用动态测试方法进行测试难以准确定位故障源.而现有的静态分析方法主要存在漏报和误报过多的情况.针对这些问题,提出了指针映射代数系统的概念,全面地反映了指针与内存之间的映射关系,并... 动态内存故障在使用指针的程序中是普遍存在的,采用动态测试方法进行测试难以准确定位故障源.而现有的静态分析方法主要存在漏报和误报过多的情况.针对这些问题,提出了指针映射代数系统的概念,全面地反映了指针与内存之间的映射关系,并给出了面向不同故障的指针映射集的构造规则,以此为基础建立了动态内存故障模型.通过指针映射集和故障模型,可以自动检测内存释放异常、内存泄露和空指针引用等动态内存故障,提高了测试效率.在分析过程中,还综合应用了控制流图和路径条件,提高了测试结果的精度.实验结果表明,该方法能够有效检测动态内存故障,而且由于规则定义较为全面,漏报和误报率也较低. 展开更多
关键词 软件测试 静态分析 指针映射集 内存泄漏 指针引用
下载PDF
基于区域内存模型的空指针引用缺陷检测 被引量:8
2
作者 董玉坤 宫云战 金大海 《电子学报》 EI CAS CSCD 北大核心 2014年第9期1744-1752,共9页
为了实现对C程序中空指针引用的充分检测,本文提出了一种基于区域内存模型的空指针引用缺陷检测方法.首先,提出了基于区域的符号化三值逻辑(Region-based Symbolic Three-Valued Logic,RSTVL),RSTVL能够描述C程序运行时内存中数据结构... 为了实现对C程序中空指针引用的充分检测,本文提出了一种基于区域内存模型的空指针引用缺陷检测方法.首先,提出了基于区域的符号化三值逻辑(Region-based Symbolic Three-Valued Logic,RSTVL),RSTVL能够描述C程序运行时内存中数据结构的形态信息与变量的存储状态,以及可寻址表达式间的各种关系;其次,给出了基于抽象语法树与函数摘要识别被引用指针方法;最后,结合基于RSTVL的数据流分析结果,将对被引用指针的检测转换为对相应区域的检测,给出了空指针引用缺陷检测的方法,通过函数摘要实现过程间的空指针引用缺陷检测.对比实验结果表明,本文方法在保证一定检测准确率的前提下,能够极大的减少空指针引用缺陷的漏报. 展开更多
关键词 指针引用 内存模型 静态分析 函数摘要 缺陷检测
下载PDF
空指针引用故障模型与测试方法研究 被引量:5
3
作者 张威 卢庆龄 +1 位作者 万琳 肖庆 《计算机工程与应用》 CSCD 北大核心 2006年第4期71-72,94,共3页
空指针态引用故障在使用指针的程序中是普遍存在的,采用动态测试方法进行测试难以准确定位故障源。而现有的静态分析方法主要存在漏报和误报过多的情况。针对这些问题,提出了一种基于指针映射关系分析的测试方法,给出了面向故障的指针... 空指针态引用故障在使用指针的程序中是普遍存在的,采用动态测试方法进行测试难以准确定位故障源。而现有的静态分析方法主要存在漏报和误报过多的情况。针对这些问题,提出了一种基于指针映射关系分析的测试方法,给出了面向故障的指针映射集的构造规则,以此为基础建立了故障模型。通过指针映射集和故障模型,可以自动检测空指针引用内存故障,提高了测试效率。在分析过程中,还综合应用了控制流图和路径条件,提高了测试结果的精度。 展开更多
关键词 软件测试 指针引用 静态分析
下载PDF
面向故障的软件测试方法研究 被引量:4
4
作者 张威 肖庆 +1 位作者 卢庆龄 马雪雁 《装甲兵工程学院学报》 2004年第2期6-8,共3页
提出了一种面向故障的软件测试方法,用以检测C程序中坏的存储分配、存储泄漏、空指针引用、数组越界和未初始化变量等5类故障.该方法在词法分析和语法分析的基础上,利用检查点查找算法查找可疑点,通过适当的人工确认,能够有效找出软件... 提出了一种面向故障的软件测试方法,用以检测C程序中坏的存储分配、存储泄漏、空指针引用、数组越界和未初始化变量等5类故障.该方法在词法分析和语法分析的基础上,利用检查点查找算法查找可疑点,通过适当的人工确认,能够有效找出软件中的故障. 展开更多
关键词 静态测试 存储泄漏 指针引用 数组越界
原文传递
基于传播引擎的指针引用错误检测 被引量:4
5
作者 衷璐洁 霍玮 +3 位作者 李丰 陈聪明 冯晓兵 张兆庆 《计算机学报》 EI CSCD 北大核心 2013年第2期432-444,共13页
指针在C程序中应用广泛,指针引用错误多发且危害严重.目前代表性的检测工具由于使用方便性和检测精度不足以及难以处理大规模程序等原因,并不能满足实用需求.文中提出一种新型的错误检测方法,该方法基于域敏感、流敏感和上下文敏感的传... 指针在C程序中应用广泛,指针引用错误多发且危害严重.目前代表性的检测工具由于使用方便性和检测精度不足以及难以处理大规模程序等原因,并不能满足实用需求.文中提出一种新型的错误检测方法,该方法基于域敏感、流敏感和上下文敏感的传播引擎,通过定义错误属性格、在源程序中对错误属性格值进行计算和传播来完成错误检测.在开放源码编译器Open64中实现了其原型系统Propagator.以空指针引用错误检测为实例研究内容,使用Apache、OpenSSH、gzip等应用领域广泛的典型应用为实验用例.与Saturn、Splint和Clang-SA进行对比,Propagator的平均检测时间仅为12s,误报率平均仅为13%,远低于对比工具,且没有发现漏报已知错误.上述结果表明,Propagator既提高了检测精度又保证了可扩展性,具有很好的实用前景. 展开更多
关键词 指针引用 错误属性格 上下文敏感 静态检测 传播引擎
下载PDF
抽象语义引导的空指针引用自动修复
6
作者 王珣 孙玉雪 +2 位作者 董玉坤 位欣欣 唐道龙 《计算机系统应用》 2023年第1期376-384,共9页
程序依赖图往往只能根据语句中变量的定义使用关系来判定数据依赖而无法从语义上精准判断,从而容易引入虚假依赖关系,使得缺陷修复的过程中使用错误信息造成修复失败.因此,本文将利用抽象属性对与空对象或空指针有关的虚假依赖进行剪枝... 程序依赖图往往只能根据语句中变量的定义使用关系来判定数据依赖而无法从语义上精准判断,从而容易引入虚假依赖关系,使得缺陷修复的过程中使用错误信息造成修复失败.因此,本文将利用抽象属性对与空对象或空指针有关的虚假依赖进行剪枝,提出基于抽象语义的程序依赖图减少与程序缺陷语义无关的依赖关系分析,以完成空指针引用修复.依据分析获取的依赖关系,在空指针引用的不同修复策略的指导下实现一种多策略的修复方案,在尽可能减小修复副作用的前提下完成空指针引用缺陷的修复.本文利用Defects4J中的空指针引用对实现的修复工具DTSFix进行实验评估,结果显示DTSFix的修复效果远远高于对比工具,证明了方法的有效性. 展开更多
关键词 抽象语义 程序依赖图 程序自动修复 指针引用 修复策略
下载PDF
基于属性可靠分析的空指针引用缺陷检测 被引量:2
7
作者 董玉坤 《计算机工程与应用》 CSCD 北大核心 2016年第22期9-14,104,共7页
为实现基于静态分析技术充分地检测出C程序中的空指针引用缺陷,提出了一种基于属性可靠分析的缺陷检测方法。首先介绍了空指针引用缺陷模式及特征。然后针对空指针引用缺陷的检测特点提出了属性可靠分析理论,并将指针的指向属性描述为... 为实现基于静态分析技术充分地检测出C程序中的空指针引用缺陷,提出了一种基于属性可靠分析的缺陷检测方法。首先介绍了空指针引用缺陷模式及特征。然后针对空指针引用缺陷的检测特点提出了属性可靠分析理论,并将指针的指向属性描述为一个属性格。通过提出的抽象内存模型,基于给出的每种程序语句上的迁移实现指针指向属性的可靠分析,根据得到的每个被引用指针的指向属性进而实现空指针引用缺陷的检测。通过对五个实际工程的检测结果分析表明,方法可充分检测出C程序的空指针引用缺陷。 展开更多
关键词 缺陷检测 缺陷模式 指针引用 属性可靠分析
下载PDF
利用状态机检测JAVA空指针引用故障 被引量:1
8
作者 毕学军 肖庆 +1 位作者 杨朝红 马丹 《装甲兵工程学院学报》 2008年第2期67-70,共4页
介绍了一种在控制流的基础上利用故障状态机对JAVA空指针故障进行检测的方法。该方法利用变量区间来表示状态的前提条件,对程序中不可达路径进行处理,从而达到减少误报的目的。
关键词 软件测试 静态分析 故障模式 指针引用
原文传递
软件安全中基于判断逻辑的空指针引用故障检测
9
作者 王锐强 金大海 《信息网络安全》 2015年第6期47-54,共8页
空指针引用故障导致的软件安全问题不断出现,给各个方面带来了极大困扰和损失。文章研究利用静态测试的方法对一类空指针引用故障进行静态检测分析,同时提出一种利用判断逻辑信息进行空指针引用检测的方法。文章首先给出与基于判断逻辑... 空指针引用故障导致的软件安全问题不断出现,给各个方面带来了极大困扰和损失。文章研究利用静态测试的方法对一类空指针引用故障进行静态检测分析,同时提出一种利用判断逻辑信息进行空指针引用检测的方法。文章首先给出与基于判断逻辑的空指针引用故障相关的一些定义和故障分类。接着,提出使用函数摘要技术提取间接判空点和间接解引用点,定义该函数摘要为函数特征信息和后置约束信息的集合,研究了判断逻辑函数摘要生成和传递的方法。最后,利用有限状态机建立基于判断逻辑的空指针引用故障模型,给出故障模型描述,并利用状态机状态转换和函数摘要完成对此类空指针引用故障的检测。在静态检测工具DTS中实现了文中的方法并且对6个开源Java工程进行了测试,测试结果表明文中方法可以检测出更多的BUG并且同样适用于检测大型软件系统。 展开更多
关键词 软件安全 静态缺陷检测 指针引用 信息 函数摘要
下载PDF
Java中空指针引用故障的静态检测方法 被引量:5
10
作者 杨睿 金大海 +1 位作者 宫云战 马跃 《清华大学学报(自然科学版)》 EI CAS CSCD 北大核心 2011年第S1期1509-1514,共6页
空指针引用是程序中存在的比较常见的问题,由于它在程序中比较隐蔽,用动态方法测试耗时又耗力且很难达到全面覆盖的效果。该文介绍了一种针对空指针引用故障的静态分析方法,将空指针引用问题抽象为一类故障模型,并以故障模式状态机来形... 空指针引用是程序中存在的比较常见的问题,由于它在程序中比较隐蔽,用动态方法测试耗时又耗力且很难达到全面覆盖的效果。该文介绍了一种针对空指针引用故障的静态分析方法,将空指针引用问题抽象为一类故障模型,并以故障模式状态机来形式化描述此类故障模型,然后根据故障状态机的创建条件及待检测代码的语义信息确定是否创建该类型的状态机,并将创建的状态机实例置于控制流图入口节点,根据数据流分析的结果对故障状态进行迭代以检测空指针引用问题。该方法已在缺陷检测系统(defect testing system,DTS)中应用,对Robocode等工程的检测结果证明本文方法可以有效地检测出空指针引用问题。 展开更多
关键词 软件测试 静态分析 指针引用故障 状态机 控制流图
原文传递
基于数据流分析的Java空指针引用异常缺陷检测
11
作者 王国峰 唐云善 徐立飞 《计算机与数字工程》 2023年第10期2369-2374,共6页
提出了一种基于数据流分析的Java空指针引用异常缺陷的检测方法。该方法以三地址码为中间表示,根据空指针引用异常的缺陷模式特征,设计了用于前向分析的数据流值、格值计算规则和传递函数,然后在程序控制流图上完成数据流算法的迭代分... 提出了一种基于数据流分析的Java空指针引用异常缺陷的检测方法。该方法以三地址码为中间表示,根据空指针引用异常的缺陷模式特征,设计了用于前向分析的数据流值、格值计算规则和传递函数,然后在程序控制流图上完成数据流算法的迭代分析。最后,通过遍历分析后的控制流图上各节点的数据流值,判别格值为ERROR的变量,报出空指针引用异常缺陷。同时,通过对比实验验证了该方法的有效性。 展开更多
关键词 指针引用异常 静态缺陷检测 数据流分析
下载PDF
空指针引用缺陷分类假阳性识别方法
12
作者 王曙燕 权雅菲 孙家泽 《计算机应用》 CSCD 北大核心 2017年第10期2968-2972,3005,共6页
针对静态测试中空指针引用缺陷假阳性问题,提出一种空指针引用缺陷分类假阳性识别方法。挖掘空指针引用缺陷知识,对空指针引用缺陷知识进行预处理,生成空指针引用缺陷数据集;通过基于粗糙集理论属性重要性的ID3算法分类空指针引用缺陷... 针对静态测试中空指针引用缺陷假阳性问题,提出一种空指针引用缺陷分类假阳性识别方法。挖掘空指针引用缺陷知识,对空指针引用缺陷知识进行预处理,生成空指针引用缺陷数据集;通过基于粗糙集理论属性重要性的ID3算法分类空指针引用缺陷数据集,分类结果有假阳性空指针引用缺陷实例和真实空指针引用缺陷实例两种;根据分类结果对静态测试中的空指针引用缺陷进行假阳性识别,确认真实的空指针引用缺陷。该方法对十个基准程序和基于主流静态测试工具Find Bugs的空指针引用缺陷检测方法相比,空指针引用缺陷假阳性降低率平均为25%,减少了24%的空指针引用缺陷确认。实验结果表明,该方法在静态测试方面能有效降低缺陷确认开销,提高空指针引用缺陷检测效率和稳定性。 展开更多
关键词 静态测试 指针引用缺陷 假阳性识别 缺陷分类 缺陷确认
下载PDF
空指针解引用错误检测的静态方法研究 被引量:2
13
作者 徐厚峰 马晓东 《计算机工程与科学》 CSCD 北大核心 2009年第3期92-96,共5页
空指针解引用是C语言中的一类常见的动态内存错误。Manevich R等提出了一种适用于检测空指针解引用错误的后向分析方法。本文将后向分析的思想和流敏感、上下文敏感的指针分析结合在一起,给出了一种需求驱动的空指针解引用检测静态分析... 空指针解引用是C语言中的一类常见的动态内存错误。Manevich R等提出了一种适用于检测空指针解引用错误的后向分析方法。本文将后向分析的思想和流敏感、上下文敏感的指针分析结合在一起,给出了一种需求驱动的空指针解引用检测静态分析算法。该算法首先由指针分析获得别名信息,然后针对所关心的数据做后向数据流分析,追踪数据传递的源头,以确定程序中的表达式是否产生解引用错误。我们在SUIF2平台上实现了这一算法。实验结果表明,算法具有较高的检测精度。 展开更多
关键词 指针引用 指向图 后向分析 指针分析
下载PDF
基于CEGAR的C程序空指针解引用检测 被引量:2
14
作者 段钊 田聪 段振华 《计算机研究与发展》 EI CSCD 北大核心 2016年第1期155-164,共10页
随着计算机软件规模和复杂度的日益增长,软件系统的可靠性和安全性倍受关注.空指针解引用是程序中常见的一类错误.提出了一种基于反例制导抽象精化CEGAR的C程序空指针解引用检测方法.该方法首先使用线性时序逻辑描述空指针解引用问题,... 随着计算机软件规模和复杂度的日益增长,软件系统的可靠性和安全性倍受关注.空指针解引用是程序中常见的一类错误.提出了一种基于反例制导抽象精化CEGAR的C程序空指针解引用检测方法.该方法首先使用线性时序逻辑描述空指针解引用问题,然后通过抽象精化的方法检测待测程序中是否含有空指针解引用错误.为了达到完全自动验证的目标,同时针对空指针解引用问题,研究了该类性质的时序逻辑表达方法,并自动从程序中针对所有的指针变量,形成相应的时序逻辑公式.实验结果表明,所提出的方法在大规模C程序的空指针解引用检测方面有着重要的实际应用价值. 展开更多
关键词 模型检测 抽象精化 指针引用 程序验证 时序逻辑
下载PDF
基于数据流追溯的空指针引用挖掘系统
15
作者 文伟平 刘成杰 时林 《信息网络安全》 CSCD 北大核心 2022年第9期40-45,共6页
空指针异常引用是系统运行过程中的一种常见问题,该问题会引起程序崩溃或者异常退出,同时攻击者也可以利用空指针解引用来完成任意读写操作,导致信息泄露。Java作为一种广泛使用的语言,也存在空指针引用问题,主要原因是对引用变量的指... 空指针异常引用是系统运行过程中的一种常见问题,该问题会引起程序崩溃或者异常退出,同时攻击者也可以利用空指针解引用来完成任意读写操作,导致信息泄露。Java作为一种广泛使用的语言,也存在空指针引用问题,主要原因是对引用变量的指向检查不足。文章提出一种基于数据流追溯的空指针引用检测系统,并设计了静态分析工具jvd。该工具通过特化追踪空指针在容器中的传播,使得空指针变量不会在容器中传播丢失,在中间语言Jimple层面上完成检测并覆盖多种空指针容器传播场景,有效降低复杂场景下的漏报率。在Juliet Test Suite的CWE476号测试集上,将文章所设计的jvd与SpotBugs、Infer等工具进行对比实验。实验结果表明,jvd能够在多种空指针传播场景下使用,在高精度场景下能够取得比其他工具更好的效果。 展开更多
关键词 数据流分析 指针引用 Jimple 容器传播
下载PDF
基于最弱前置条件的静态分析误报消除技术 被引量:1
16
作者 陈杰 《计算机工程与应用》 CSCD 2012年第33期1-4,33,共5页
针对程序静态分析技术误报过多的问题,提出一种基于最弱前置条件的静态分析误报消除方法。根据不同的软件安全性质,从目标状态出发,以需求驱动的方式得到过程起始位置的最弱前置条件,判断该条件公式的可满足性来消除误报。将该方法实例... 针对程序静态分析技术误报过多的问题,提出一种基于最弱前置条件的静态分析误报消除方法。根据不同的软件安全性质,从目标状态出发,以需求驱动的方式得到过程起始位置的最弱前置条件,判断该条件公式的可满足性来消除误报。将该方法实例化来消除静态分析工具检测数组访问越界和空指针解引用的误报,实验结果表明该方法是有效且实用的。 展开更多
关键词 静态分析 误报消除 最弱前置条件 数组访问越界 指针引用
下载PDF
基于值依赖分析的空指针解引用检测 被引量:4
17
作者 马森 赵文 +1 位作者 习翔宇 王栋伟 《电子学报》 EI CAS CSCD 北大核心 2015年第4期647-651,共5页
本文提出了一种基于程序值依赖分析的、路径敏感的空指针解引用检测方法.该方法通过结合数据流分析中的到达定值分析、区间分析及指向分析创建了值依赖分析图,该图刻画了可能产生空指针语句到其解引用语句的值依赖关系.该图中的边采用... 本文提出了一种基于程序值依赖分析的、路径敏感的空指针解引用检测方法.该方法通过结合数据流分析中的到达定值分析、区间分析及指向分析创建了值依赖分析图,该图刻画了可能产生空指针语句到其解引用语句的值依赖关系.该图中的边采用守卫标注,即描述了相邻点之间的到达条件.为了降低误报率,本文同时提出了一种需求驱动的必然别名算法.由本文所述方法实现的工具展示了良好的实验效果,在10个SPEC2000项目中发现了70余个空指针解引用缺陷,误报率仅为6%左右. 展开更多
关键词 程序分析 静态缺陷检测 指针引用检测 需求驱动别名分析
下载PDF
面向二进制程序的空指针解引用错误的检测方法
18
作者 傅玉 邓艺 +3 位作者 孙晓山 程亮 张阳 冯登国 《计算机学报》 EI CSCD 北大核心 2018年第3期574-587,共14页
空指针解引用是C/C++程序中常见的一类程序错误,它可让攻击者旁路安全机制或窥探操作系统敏感信息,一直是计算机安全领域的重要研究课题之一.目前已有很多(自动)分析工具对其进行检测,然而它们都在源代码层面上进行检测.大量的商业软件... 空指针解引用是C/C++程序中常见的一类程序错误,它可让攻击者旁路安全机制或窥探操作系统敏感信息,一直是计算机安全领域的重要研究课题之一.目前已有很多(自动)分析工具对其进行检测,然而它们都在源代码层面上进行检测.大量的商业软件不公开源代码,因此基于源代码的工具无法对这类软件中空指针解引用进行检测.此外,一些空指针解引用无法在源代码层面检测,因为这些缺陷由编译选项和编译优化不当引入.因此进行基于二进制的空指针解引用检测非常必要.基于二进制的空指针解引用检测的一个优势是可以包含库函数的代码,而基于源代码的分析通常采用人工构造的库函数摘要,从而影响检测的准确性和召回率.该文首次提出并实现了面向二进制程序的空指针解引用静态检测工具NPtrChecker,直接接受二进制程序进行分析,并给出代码中出现空指针的来源和解引用的位置以及对应的路径条件.在二进制上进行空指针解引用检测的一个重要难点是二进制程序中缺少指针类型、结构体类型等相关数据类型信息.如果缺乏这类信息,会导致分析结果的准确率大大降低.但是从二进制中恢复类型、数据结构本身是非常困难的问题.针对上述问题,我们提出了一种内存模型,区分来自同一数据结构的不同域的引用,实现了针对空指针解引用检测的域敏感指针分析.为了进一步提高分析的准确率,文章在此基础上设计实现了一套基于函数摘要的上下文敏感的数据流分析算法.此外,工具采用最弱前置条件对数据流分析结果进行验证,检查从指针来源到解引用点的路径条件是否可以被满足,以降低误报率.我们应用NPtrChecker分析了SPEC2000中的11个程序,总共报告了37个可疑空指针解引用,通过人工确认,其中22个是真实的程序错误.相对于Saturn报告的92个,仅13个为真;LUKE报告的3个 展开更多
关键词 指针引用检测 静态程序分析 二进制程序分析 最弱前置条件 数据流分析
下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部