首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 125 毫秒
1.
为了提高数据竞争检测过程的准确性,提出了一种基于上下文敏感分析的数据竞争检测方法。使用控制流分析构建上下文敏感的调用图,采用逃逸分析查找出可能发生数据竞争的线程逃逸对象,进行上下文敏感的别名分析以减少误报和漏报,通过发生序关系判断消除由于忽略线程交互而导致的误报。依据该方法,在WALA软件分析框架实现了一个数据竞争检测工具ConRacer,并将该工具与现有的检测工具SRD和RVPredict进行了比较。结果表明,与SRD和RVPredict相比,ConRacer的检测准确度最高,不仅可以有效地检测数据竞争,而且可以降低检测过程中的误报和漏报。通过结合上下文敏感分析技术与传统的静态检测技术,ConRacer提高了检测过程的准确性,对发现并发错误和优化软件性能有一定的参考价值。  相似文献   

2.
Java中空指针引用故障的静态检测方法   总被引:1,自引:0,他引:1  
空指针引用是程序中存在的比较常见的问题,由于它在程序中比较隐蔽,用动态方法测试耗时又耗力且很难达到全面覆盖的效果。该文介绍了一种针对空指针引用故障的静态分析方法,将空指针引用问题抽象为一类故障模型,并以故障模式状态机来形式化描述此类故障模型,然后根据故障状态机的创建条件及待检测代码的语义信息确定是否创建该类型的状态机,并将创建的状态机实例置于控制流图入口节点,根据数据流分析的结果对故障状态进行迭代以检测空指针引用问题。该方法已在缺陷检测系统(defect testing system,DTS)中应用,对Robocode等工程的检测结果证明本文方法可以有效地检测出空指针引用问题。  相似文献   

3.
受限于不完备的函数调用图分析和路径可达性分析,当前静态整数溢出检测工具存在较为严重的误报情况.为解决这一问题,以源代码中外部输入可控的整数溢出缺陷的自动挖掘为目标,给出一种综合调用图分析、静态污点分析和静态符号执行的检测方法.提出一种域敏感的流敏感指针分析方法构建目标程序调用图的"高估计",应用静态污点-sink传播分析确定潜在的外部输入可控的整数溢出缺陷程序点,最后应用静态符号执行技术通过判定缺陷约束的可满足性对误报情况进行约减.实验验证了方法在实际整数溢出缺陷检测和误报情况约减方面的应用有效性.  相似文献   

4.
航天嵌入式软件运行时错误静态分析方法   总被引:1,自引:0,他引:1  
提出一种基于属性模型的运行时错误静态分析方法.该方法将运行时的错误按照发生原因进行分类,提取每类错误的属性模式,对属性模式进行形式化建模形成属性有限状态机;并对程序流图中与属性相关的路径进行分析,对照属性有限状态机运用路径敏感和上下文敏感的方法分析运行时错误.实验结果显示,该方法与现有主流方法相比,在准确率和效率之间可取得良好平衡.   相似文献   

5.
一种基于语义的恶意行为分析方法   总被引:3,自引:0,他引:3  
提出了一种基于语义的恶意行为分析方法,可以对基于函数调用的攻击进行完整刻画,支持流敏感、上下文敏感且路径敏感的函数间分析。与现有方法相比可以更加准确地描述全局状态中的基于函数调用的攻击行为。针对多个恶意程序和应用程序的分析表明,该方法可以有效地识别代码中的恶意行为。  相似文献   

6.
提出了一种基于语义的恶意行为分析方法,可以对基于函数调用的攻击进行完整刻画,支持流敏感、上下文敏感且路径敏感的函数间分析。与现有方法相比可以更加准确地描述全局状态中的基于函数调用的攻击行为。针对多个恶意程序和应用程序的分析表明,该方法可以有效地识别代码中的恶意行为。  相似文献   

7.
针对学生在学习指针过程中遇到的困难及使用指针过程中出现的常见错误,讨论指针的概念、指针与数组的关系、指针与函数的关系、指针作为函数参数的实质,帮助学生克服困难和错误。  相似文献   

8.
针对基于包含约束的指针分析法存在的主要问题是包含约束语言的限制性和约束图的简化,提出了一个基于包含约束语言的指针分析算法。首先对包含约束语言进行扩展,使其不再局限于几个基本形式,并进一步给出约束传播规则;然后一次性构建约束图,图中不再存在复杂边,整个分析过程由动态转化为静态;最后,提出一个算法对简化的约束图进行分析,得到指针信息。实验结果表明,该算法能够精确地分析出一个指针的任何级别脱引用的指向信息。  相似文献   

9.
依据整数溢出漏洞特征,该文在对220个实际整数溢出漏洞分析的基础上提出了3种检测策略来缓解静态分析技术的高误报问题。结合静态分析可直接获取整数溢出类型信息及动态分析获取整数溢出漏洞准确的优点,提出了动静结合的整数溢出漏洞分析方法。先利用程序静态分析技术分析整数溢出并获取整数溢出类型等相关信息,动态分析根据静态分析得到的信息,使用自动插桩技术对代码进行插桩,结合漏洞特征设计的重构表达式运行具体符号执行以提高漏洞分析的准确率。动静结合的整数溢出漏洞分析方法减少误报效果较好:对Lighttpd-1.4.29进行检测时减少误报374条,占总量的67.3%;对Linux内核3.4版本进行检测时减少误报159 761条,占总量的98.2%;并最终成功分析出CVE-2011-4362、CVE-2013-1763整数溢出漏洞。  相似文献   

10.
数组和指针是C语言的两个最重要的概念,它们若结合起来使用,非常灵活,初学者往往感到无所适从,笔者根据多年的经验,利用典型实例和图表对指向一维数组的指针的定义和数组元素的引用、指针与自增自减运算符相结合的一些常见表达式的具体含义及区别、二维数组中各数组元素的多种地址表示方式及访问二维数组时如何定义指向数组元素的指针和指向某行数据的指针等进行了描述和分析,所有实例都在VC6.0环境下通过,希望初学者能快速理解和掌握。  相似文献   

11.
To check whether a program behaves in expectation, program monitoring systems are used for intrusion detection. This article presents a program monitoring system using automaton simulation based on the state graphs extracted from C programs through static analysis. For complete state graph construction, a pointer alias analysis method is proposed to solve the function pointers for obtaining actual control flows. After compiling, programs are instrumented with probes to report the internal states when they are running. A program monitor is built in the kernel of Linux system, which monitors the states of programs from probes and checks the paths of execution. This monitoring system could respond to the abnormal behaviors immediately to protect the systems and programs from further damages.  相似文献   

12.
文欣 《科技信息》2009,(17):56-56,151
本文对C/C++中指针的各种类型进行全面地讨论,把指针常量的定义,变量的定义、赋值和访问都做了举例说明,这对利用C/C++的指针开发大型软件的程序员来说无疑是一个非常有力的工具。本文还探讨了指针变量与数组名的内在关系,以及类的静态数据指针与非静态数据指针的根本区别。  相似文献   

13.
提出了在C++编程环境中把对象内的指针区别对待的思想.对于内部含有指针的对象,根据对象与其中的指针所指向内容的关系,可以把指针分为内含式和外联式两类.内含式指针所指向的内容是对象的一个组成部分,外联式指针则描述对象与外部的联系.C++程序设计环境并不支持这样的划分,需要设计人员自己处理.对内含式的指针必须设计相应的拷贝构造函数,并且对赋值运算符进行重载,否则有可能破坏对象的封装特性.  相似文献   

14.
在面向对象程序设计中 ,成员调用的静态分析是指在编译阶段确定调用成员函数指针或引用的类型。本文在分析C + +对象模型的基础上 ,对与静态分析相关的三种类型转换的成员调用方法进行了研究 ,针对已有分析方法的不足 ,给出一种新的静态分析成员调用的方法———转型分析法。为优化编译器 ,程序理解提供了一种切实可行的方法。  相似文献   

15.
利用图像形态骨架细化方法和Hough变换对指针式仪表表头读数的识别进行研究。将仪表表头图像预处理后,进行形态骨架细化,然后用Hough变换检测表头图像的所有刻度线和指针。在此基础上提出一个识别表头读数值的算法。实验表明该方法的有效性,在指针式仪表的自动检测中有一定的实用意义。  相似文献   

16.
多边形扫描转换因采用链表结构而使程序简洁、快速,但链表中指针的操作增加了学习这一内容的难度,影响正常的教学进度.在编程时采用标准模板库(STL)中的链表模板避免了指针操作,而且使程序编写容易和阅读方便.根据相关文献的算法,分别写出了采用自定义链表方式和使用链表模板方式实现多边形扫描转换的完整C++程序.实例对比表明,采用标准模板库使程序调试方便和运行稳定.  相似文献   

17.
A proposal for smooth aggressive location restoration by forwarding pointer is given in this paper. A mobile communication system's robustness in case of a location-database failure is improved without the need for periodic location update operations. Radio resources would be saved at the cost of wire signal and operation of location databases. Meanwhile, a chain of forwarding location pointers has been used during the period of HLR failure. So mobile stations are unconscious of the failure of HLR, and mobile subscribers can always make outgoing call.  相似文献   

18.
针对指针式仪表人眼读数效率低,不能转化成数字信号输入计算机,提出一种基于Hough变换的指针式仪表自动判读方法.该方法运用图像减影技术,通过调节图像分辨率实现指针的检出,再利用Hough变换做峰值检测、线检测和链接,通过转换偏转角度的基线位置,确定出仪表指针的读数.实验表明,该方法能快速有效地完成指针式仪表的自动判读,且最大不确定度明显优于人眼的识别,具有较高的精度.  相似文献   

19.
一种基于层次模型的面向对象类型分析框架   总被引:1,自引:0,他引:1  
建立了一种用于静态类型面向对象程序的类型分析框架,该框架集成了目前最为实用的4种类型分析方法,即唯一名分析、类层分析、快速类型分析以及指针别名分析。首先在这4种方法的基础上提出了类型分析的层次模型,然后以此模型为核心,结合程序预处理器和信息加工器等建立了一种类型分析框架,该框架适合分析静态类型的面向对象程序,如C++/Java程序等。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号