共查询到10条相似文献,搜索用时 31 毫秒
1.
2.
《计算机应用与软件》2015,(7)
空间内存错误是C语言程序中经常出现的一种漏洞。针对目前空间内存错误检测方法的性能开销高的问题,提出一种高效的空间内存错误检测方法 EBound。EBound使用动态指针边界检测方法检测程序中的空间内存错误,并使用静态污点分析方法来消除不必要的指针边界检查,从而降低了性能开销。EBound基于LLVM编译器实现,不需要对程序源代码进行修改。实验结果表明,EBound可以有效地防御利用空间内存错误进行的缓冲区溢出攻击。与当前比较好的空间内存错误检测方法 Soft Bound相比,EBound有更低的性能开销。 相似文献
3.
4.
C语言作为安全关键软件的主要实现语言,其存在的内存泄漏缺陷具有很高的隐蔽性和危害性,如何保证内存泄漏检测的准确性和高效性是一大挑战。静态分析具有直接分析源码、能够较早发现软件错误,从而降低修复代价的优势。基于静态分析技术,提出了一种基于路径敏感的值流分析的内存泄漏检测方法,首先进行指针分析生成精确指向信息;然后基于指向信息构建值流约束,执行可达性分析以识别程序中的泄漏路径;最后借助指针与内存地址的有效生命周期进行验证。在典型基准C程序上的实验结果分析表明,本文方法与现有技术相比在效率和精度上都具有一定优势。 相似文献
5.
虽然在Microsoft C中已提供了调试器CodeView,能使程序员很方便地跟踪程序的执行路线、变量值的变化,但是,在编写较大的程序时,许多软件开发工作者都有这样的体会,CodeView的功能还不够,特别是在内存使用情况监测方面。因为对一个有经验的程序员来说,设计C语言程序除了设计规划阶段占软件开发工期较长时间之外,在编程调试阶段占时间的主要是排除那些涉及内存操作的错误。如:内存未申请到、数组或串溢出、内存使用完毕未释放、内存碎片过多导致可用空间紧张等。 相似文献
6.
董玉坤 《计算机工程与应用》2016,52(19):31-36
为实现基于静态分析技术自动的检测C程序中的非法计算缺陷,提出了一种基于区域内存模型进行非法计算缺陷检测的方法。对C程序中的非法计算缺陷操作归纳总结出其受限集,以对相应运算进行约束;通过抽象的区域内存模型表示实际的内存存储,实现了基于抽象内存区域内存模型的数据流分析;基于数据流分析的结果,判定C程序中的受限操作是否违背受限集的约束,以实现非法计算缺陷的检测。5个实际工程的检测结果分析表明,该方法可有效地检测出C程序的各类非法计算缺陷。 相似文献
7.
在航天领域中,安全关键的大型实时软件系统往往直接影响到任务成败,一般难以全面检测、分析或避免内存泄漏等常见内存错误。定义了实时软件的12种典型内存故障模式,提出了一种基于C++代码插装的实时软件内存错误快速分析方法。该方法通过对C++源代码进行静态分析,获取指针变量相关信息;通过C++代码插装和运行不同测试用例,实时收集统计C++指针对象的分配、释放、赋值、c-use和p-use使用情况,结合实时软件的典型内存故障模式进行分析,并自动生成详情报告。应用案例表明,该方法能够高效快捷地发现实时软件潜在的典型内存错误,从而有效提高软件质量。 相似文献
8.
指针是C语言的精华所在,正确使用指针能使程序简洁高效,能避免内存错误和程序异常,保证程序的正确性和可移植性。针对指针在编程过程中可能出现的错误,阐述了C编译器对数据进行内存分配的策略,通过具体的实例进行分析,并给出解决方法。 相似文献
9.
C语言执行效率高,使用范围广泛,然而存在的安全问题也日益突出。内存错误是C程序中常见的缺陷,严重时将导致系统崩溃。传统的人工修复内存错误耗费大量人力物力,并可能在修复过程中引入新的错误。针对这个问题,提出了一种基于跟踪机制的程序自动修复方法。构建包含程序文件中变量作用分布的作用域树;提出基于全局指针的跟踪机制,通过插入全局指针跟踪发生错误的分配内存在程序中的状态;基于全局指针自动生成补丁,利用作用域树定位缺陷修复位置从而来安全地修复内存错误。基于上述过程,实现了原型工具DTSFix,并在开源程序中对其进行了评估。实验结果表明,DTSFix能够有效检测并修复程序中的真实缺陷而且不产生副作用。 相似文献
10.
内存泄漏故障是一个程序员所必须关心的问题之一。通过对内存泄漏及其相关检测技术的研究,提出面向类型的动态内存泄漏检测的概念,使泄漏检测具有较高的实时性,大大降低由于内存泄漏检测而导致CPU占用时间的急剧变化值,并在Linux下验证了算法的真实有效性。 相似文献