首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到17条相似文献,搜索用时 62 毫秒
1.
基于程序静态分析和故障树的软件故障检测   总被引:1,自引:0,他引:1  
为提高软件安全性和可靠性,探讨一种在软件故障检测过程中将故障定位和原因分析相结合的方法,该方法基于对程序的静态分析,找出故障的位置,利用故障树定位故障原因。非法计算是一种常见的软件故障,该类故障极易导致系统崩溃,该文以一个非法计算故障为例,说明该方法的分析过程,实验表明其可以有效地定位故障并分析其原因。  相似文献   

2.
缪力  张大方 《计算机应用》2007,27(12):3089-3091
模型检测是一种对有限状态变迁系统验证其时态逻辑性质的重要方法,可以弥补测试技术的不足。基于流分析的程序模型检测和基于语言转换的程序模型检测是当前程序模型检测的主要方法,它们都存在各自的局限性。基于对这两种程序模型检测方法各自优缺点的分析,提出了一种两阶段程序模型检测框架,通过结合两种程序模型检测方法,可有效提高程序模型检测对较大规模程序的适用性。  相似文献   

3.

内核中的引用计数缺陷会引起内存泄露、释放后使用漏洞等严重安全问题. 针对这类缺陷,提出基于错误路径行为一致性分析的缺陷检测方案. 相比已有工作,该方案引入错误路径的语义信息来推断合理的引用计数行为,从而检出以往难以覆盖的引用计数缺陷.具体而言,首先,该方案基于代码特征识别函数中所有的错误路径. 其次,采用路径敏感的静态分析对各条错误路径上的引用计数行为进行分析汇总,以推断该函数在错误路径上引用计数操作的主流倾向.最终,基于一致性分析原理,将与主流倾向不一致的路径标识为潜在缺陷.实验表明,该方案在Linux内核版本5.6-rc2和版本5.17上分别发现21个和9个引用计数缺陷,且大部分都被开发者确认;其中,在内核版本5.6-rc2上有9个缺陷是已有工作无法覆盖的.

  相似文献   

4.
在信息化时代,人们对软件的质量要求越来越高.程序分析是保障软件质量的重要手段之一,日益受到学术界和产业界的重视.介绍了若干基本程序分析技术(抽象解释、数据流分析、基于摘要的分析、符号执行、动态分析、基于机器学习的程序分析等),特别是最近10余年的研究进展.进而介绍了针对不同类型软件(移动应用、并发软件、分布式系统、二进制代码等)的分析方法.最后展望了程序分析未来的研究方向和所面临的挑战.  相似文献   

5.
王泽雨  周晓宇 《软件》2014,(7):78-84
本文利用程序静态分析技术对Web程序中的用例识别进行了深入研究。对Web页面的用户行为进行了深入分析并建模,从行为模型中提取出描述整个系统中用户行为的事件流图,结合采用现有的从目的成功语句出发、以必经结点为基础的用例识别方法,从各个Web页面中提取的独立控制流图,形成全局控制流图,进行全局用例识别。与以前已有工作相比,本文考虑了Web程序的特点,尤其是前端程序如何实现用户行为,并在前端程序中进行精确的用例识别。本文采用目前使用较为广泛的JSP程序进行了实验,结果表明该方法能够有效识别JSP程序中的用例结构。  相似文献   

6.
多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。将竞争静态检测和静态切片分析结合起来,提出了一种基于类的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分析,找出可能数据竞争,通过静态切片缩小程序分析范围,并结合数据竞争的必要条件,去掉不可能数据竞争。实例表明,该算法可用于指导修复程序中的竞争缺陷。  相似文献   

7.
程序不变量检测技术   总被引:1,自引:0,他引:1  
基于合约的程序设计是提高软件质量的一种重要技术,已经得到了很大的发展。合约描述了程序内部的基本属性、程序良性运行的保证条件以及运行后的期望结果。作为合约的一种表达形式,程序不变量一般包含类不变量、前置条件和后置条件。程序不变量是程序中隐含的属性,它可以应用于程序验证、软件测试技术、逆向工程、程序质量保证等领域。本文结合当前主流的程序不变量研究的相关成果和基于合约的程序不变量程序设计方法,分别从源程序编配技术、测试用例生成技术、程序运行轨迹收集技术和程序不变量分析技术四个方面,对程序不变量挖掘的关键方法和原理进行了详细的剖析。  相似文献   

8.
9.
基于约束分析与模型检测的代码安全漏洞检测方法研究   总被引:1,自引:0,他引:1  
与传统的程序分析相比,模型检测具有较高的检测精度,但无法将其直接应用于缓冲区溢出、代码注入等安全漏洞的检测.为解决此问题,提出了基于约束分析与模型检测相结合的安全漏洞自动检测方法.首先,通过约束分析跟踪代码中缓冲区的信息,在涉及缓冲区操作的危险点生成相应的属性传递和属性约束语句,并将安全漏洞检测问题转化为模型检测方法可接受的可达性检测问题.然后,采用模型检测方法对安全漏洞的可达性进行判断.同时采用程序切片技术,以减少状态空间.对6个开源软件的检测结果表明,基于该方法实现的CodeAuditor原型系统发现了18个新漏洞,误报率为23%.对minicom的切片实验显示,检测性能有较大提高.  相似文献   

10.
一种区间型程序不变量检测方法   总被引:1,自引:0,他引:1  
程序不变量的发现是提高软件质量的一种有效方法。静态分析是发现程序不变量的一个研究方向。本文以数学理论为基础,结合图形化方法,对区间型不变量给出一种简单有效的静态分析方法,阐述其检测过程,并用实例进行验证说明。  相似文献   

11.
程序静态分析技术与工具   总被引:8,自引:0,他引:8  
杨宇  张健 《计算机科学》2004,31(2):171-174
静态分析对于保证程序质量,提高软件生产率有重要的意义。本文综述了静态分析常用的策略,介绍了当前静态分析的研究现状,比较了目前已有的静态程序分析工具。  相似文献   

12.
边攀  梁彬  石文昌 《计算机科学》2014,41(1):220-224
通过静态检测发现源程序中的潜在缺陷,可以帮助程序员在软件发布之前发现并修补程序缺陷,提高软件的安全性。提出一种通过静态分析CIL代码来检测C#程序代码缺陷的方法。采用改进的深度优先搜索算法遍历目标程序的控制流程图,结合历史状态缓存机制,能够大幅度提高检测效率;另外,为便于实施别名分析,还提出一种基于内存区域的变量表示方法。基于所述分析方法,开发了一个C#源代码缺陷静态检测系统,并对实际开源项目进行了检测。实验结果表明,本系统能够高效、准确地检测C#程序中常见类型的缺陷。  相似文献   

13.
Dynamic optimization relies on runtime profile information to improve the performance of program execution. Traditional profiling techniques incur significant overhead and are not suitable for dynamic optimization. In this paper, a new profiling technique is proposed, that incorporates the strength of both software and hardware to achieve near-zero overhead profiling. The compiler passes profiling requests as a few bits of information in branch instructions to the hardware, and the processor executes profiling operations asynchronously in available free slots or on dedicated hardware. The compiler instrumentation of this technique is implemented using an Itanium research compiler. The result shows that the accurate block profiling incurs very little overhead to the user program in terms of the program scheduling cycles. For example, the average overhead is 0.6% for the SPECint95 benchmarks. The hardware support required for the new profiling is practical. The technique is extended to collect edge profiles for continuous phase transition detection. It is believed that the hardware-software collaborative scheme will enable many profile-driven dynamic optimizations for EPIC processors such as the Itanium processors.  相似文献   

14.
由于嵌入式系统日趋复杂,程序的复杂程度也与日俱增,这导致程序异常跳转、数组越界、堆栈溢出等异常现象时有发生,但编译器以及专业的静态代码扫描工具无法发现此类问题。程序运行时一旦发生此类异常,往往会导致系统死机等严重故障,系统死机后,留给开发人员的有用信息一般很少,常常需要花很多时间及精力才能查出导致程序异常的具体原因,因此,开发一种高效的程序异常检测手段就显得十分必要。利用DSP软件编译器的插桩功能,可完整记录程序异常前的运行轨迹数据,通过分析这些轨迹数据可重建程序异常前的运行轨迹,利用这些信息,开发人员可高效地查出程序异常的具体原因。  相似文献   

15.
支持程序分析的C++程序信息库的建立与研究   总被引:1,自引:0,他引:1  
提出了一种新程序信息库的设计模式,介绍了程序信息的提取方法,建立了程序信息库CPPINFO,并通过使用实例说明了它的优点。  相似文献   

16.
王博  卢思睿  姜佳君  熊英飞 《软件学报》2020,31(6):1681-1702
软件不变量是软件的重要属性,在软件验证、软件调试和软件测试等领域有重要作用.自20世纪末以来,基于动态分析的不变量综合技术成为相关领域的一个研究热点,并且取得了一定的进展.收集了90篇相关论文对该领域进行系统总结.基于动态分析的不变量综合技术是该领域的核心问题,提出了"学习者-预言"框架统一描述相关方法,并且在此框架内根据学习者的归纳方法将综合技术大致分为4类,分别是基于模板穷举的方法、基于数值计算的方法、基于统计学习的方法以及基于符号执行的方法.其次,讨论了基于动态分析综合的不变量在软件验证和软件工程等领域的重要应用.随后,总结不变量生成技术中常用的实验对象程序和开源的不变量综合工具.最后,总结该领域并展望未来的研究方向.  相似文献   

17.
在空间载波条纹位相检测中,滤波函数的选择对解调相位的精度和速度起着决定性的作用。文中系统地分析了滤波方式和滤波器的性能对空间位相检测的影响,把空间载波条纹分成窄带调相载波条纹和宽带调相载波条纹两类,分别给出了特征多项式设计法和窗函数设计法。窄带调相条纹解调滤波器的幅频特性要求在解调载波及高次谐波处幅值为零,在这些频率附近滤波器的幅值应尽量地小。宽带条纹的滤波器则要求通带平坦,阻带纹波小,同时满足在解调载波频率处幅值尽量小的条件。为了验证设计原则和方法的正确性,文中还给出了根据这些原则和方法设计的滤波器解调计算机模拟信号的结果。  相似文献   

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

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