首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 0 毫秒
1.
张天炯  王铮 《计算机应用》2014,34(3):857-860
运行时错误是程序动态运行时产生的错误,错误发生后,需要借助传统的调试手段分析错误原因。对于某些异常行为和多线程程序不能再现真实的执行环境,传统的调试分析手段的作用不明显。如果能够捕获程序执行时的变量信息,那么运行时错误现场也会被捕获,进而以此为依据分析错误原因。对此提出基于变量跟踪的运行时错误现场捕获技术,它可以根据用户需求捕获特定变量信息,从而有效提高了变量信息获取的灵活性。以该技术为基础实现了运行时错误现场分析工具(RFST),该工具能够为程序运行时错误分析提供错误现场和辅助分析手段。  相似文献   

2.
从减少软件开发成本和缩短软件开发周期的角度考虑,尽可能的在软件编码时期发现软件缺陷无疑是最佳选择,但软件运行时错误是所有的软件缺陷中最具风险的,发现该类错误最有效的手段就是专用测试工具。通过对几种主流的软件运行时错误测试工具的对比分析,探讨了各个工具的优缺点及选择的诸多因素,对于软件测试人员如何选择合适的该类测试工具,具有实际参考价值。  相似文献   

3.
通过分析应用程序运行产生的各种运行时错误,指出了只有通过编写错误处理程序才能解决这些问题;设计了设置错误捕获、编写错误处理程序、退出错误处理程序、错误处理顺序、自动生成错误等具体方法及步骤。  相似文献   

4.
缓存区溢出能引起非常严重的安全问题,对网络和分布式系统(如机群,网格,P2P系统等)构成严重威胁。数组越界在缓存区溢出中占据重要位置,如何检测数组越界错误是一个重要且极具意义的课题。针对该课题,给出一种对C语言数组越界进行运行时验证的方法。分析了数组越界的错误类型,根据这些类型分别研究了数组越界的运行时验证的思想;设计了基于程序插桩进行数组越界动态检测的算法,给出了该方法基于开源编译器Clang的具体实现;用实验证明了该方法是切实可行并且有效的。  相似文献   

5.
《软件》2016,(11):84-87
C语言自其出现以来便以其优秀的特性被广泛应用于程序开发中,如今C语言程序在各大领域依然发挥着重要的作用,尤其在一些重要的部门领域如航空航天、医疗、银行等部门提供着系统支持,相应的在软件安全和系统稳定上有更高的要求。本文主要针对C语言程序中常见的变量异常检测进行研究,以现有开源软件位基础实现编译器前端对C语言源程序进行词法语法解析,并实现基于C语言源代码插桩检测程序变量使用异常的实验,对"变量使用前未赋初值"、"变量值溢出"等变量使用错误错误实现检测和反馈。  相似文献   

6.
代码插桩是程序性能监控的重要环节。动态插桩通过对可执行程序代码的运行时修改支持动态性能监控,有助于降低性能分析工具的构建代价,提高工具易用性。本文首先阐述了Dyninst动态插桩系统的概念抽象与执行机理,然后结合大规模并行程序动态插桩的需要,对DPCL并行程序动态插桩基础设施以及基于MRNet的可扩展通信结构进行了深入分析。  相似文献   

7.
在实际调试中,程序员往往通过追溯错误的变量值及其传播来定位软件错误,其中具有错误值的变量称为感染变量,感染变量在失败运行中具有错误值的程序位置即为感染位置。提出了一种结合动态正向程序切片和语句覆盖信息对程序变量感染的初始位置进行定位的技术。该技术通过分析感染变量的起源与传播,可以更加精确地找到与感染变量相关的错误语句集合。与传统的基于程序覆盖信息的错误定位技术进行了对比实验,结果表明,该技术可定位程序中的感染变量及其初始感染位置,并且可以显著提高程序错误定位的精度。  相似文献   

8.
马骏驰  汪芸 《软件学报》2016,27(2):219-230
软错误是高辐照空间环境下影响计算可靠性的主要因素,结果错误(silent data corruption,简称SDC)是软错误造成的一种特殊的故障类型.针对SDC难以检测的问题,提出了一种基于不变量的检测方法.不变量是运行时刻保持不变的程序特征.在软错误发生后,由于程序受到影响,不变量一般不再满足.根据该原理,在源代码中插入以不变量为内容的断言,利用发生软错误后断言报错来检测软错误.首先,根据错误传播分析确定了检测位置,提取了检测位置的不变量;定义了表征不变量检测能力的渗透率,在同一检测位置依据渗透率将不变量转化为断言.通过错误注入实验,验证了该检测方法的有效性.实验结果表明:该检测方法具备较高的检出率和较低的检测代价,为星载系统的软错误防护提供了新的解决思路.  相似文献   

9.
针对软件测试和静态程序验证中存在的连续性程序执行验证和推理问题,提出一个基于程序插桩和布尔逻辑的运行时程序验证框架——RPA。定义一种用于描述运行时程序性质和规范的动态逻辑语言RPAL,实现自动化插桩以收集运行时程序状态信息,设计一个支持高效验证的句子调度算法。实验结果表明,结合合适的谓词扩展,RPA可以有效地验证和分析软件逻辑,发现潜在的软件错误。  相似文献   

10.
Linux操作系统、嵌入式系统、航电系统、通信系统等一般都是用C/C++语言进行编写。因为C语言具有偏底层硬件、移植性强、执行效率高等优秀特性。但是随着多核并行机的出现,许多语言也开始支持多线程编程。由于C语言本身存在着对内存访问时,不对内存边界进行检查的问题,从而造成软件系统相关的可靠性和安全性问题。对多线程C语言程序来说,由于多线程程序的不确定性,使得运行时验证多线程C程序的内存安全问题变得更加困难。通过使用基于改进的指针运行时验证技术、多核多线程技术、并行计算、无锁数据结构技术、源代码插桩技术方法,并结合开源工具Clang编译器实现原型工具Movec对多线程C程序的支持。该工具实现了对多线程C程序内存安全问题的运行时验证。然后通过Mibench和SARD测试用例进行实验,验证了该工具对多线程C程序进行运行时验证的有效性。  相似文献   

11.
陶捷  杨珉 《计算机工程》2009,35(10):44-48
能用于生产环境中进行实时监控和实时调优的动态跟踪系统在跟踪过程中会给被跟踪的程序和系统引入未知的性能影响。为估算和量化这一影响值,通过对动态跟踪系统的软件架构和运行流程等方面的分析,提出计算该影响值的方法,并实测获取了计算过程中所需的各种参数。实验结果表明,该性能模型能够准确地对影响值进行预判。  相似文献   

12.
基于纯方位信息的水下目标跟踪中常用的伪线性卡尔曼滤波算法偏差较大、跟踪精度差,结合偏差补偿算法提出一种用于纯方位水下目标跟踪的递归工具变量卡尔曼滤波算法,并将过程噪声协方差的不确定性考虑在内.针对伪线性卡尔曼滤波算法的偏差问题,采用递归工具变量算法的工具变量矩阵来消除量测矩阵与伪线性噪声间的关联性,从而消除偏差.仿真结果表明,所提出的递归工具变量卡尔曼滤波算法在水下方位角噪声较大时也能保持稳定性和跟踪精度.  相似文献   

13.
C语言执行效率高,使用范围广泛,然而存在的安全问题也日益突出。内存错误是C程序中常见的缺陷,严重时将导致系统崩溃。传统的人工修复内存错误耗费大量人力物力,并可能在修复过程中引入新的错误。针对这个问题,提出了一种基于跟踪机制的程序自动修复方法。构建包含程序文件中变量作用分布的作用域树;提出基于全局指针的跟踪机制,通过插入全局指针跟踪发生错误的分配内存在程序中的状态;基于全局指针自动生成补丁,利用作用域树定位缺陷修复位置从而来安全地修复内存错误。基于上述过程,实现了原型工具DTSFix,并在开源程序中对其进行了评估。实验结果表明,DTSFix能够有效检测并修复程序中的真实缺陷而且不产生副作用。  相似文献   

14.
根据线性控制系统稳定性分析的基本理论,运用MATLAB图形用户界面的设计功能,利用运行时服务器技术开发了稳定性分析的应用程序,提供了多种稳定性判断方法和系统模型描述形式,可以快速、准确地实现稳定性判断.同时也介绍了程序运行界面和运行时服务器应用程序的实现方法.  相似文献   

15.
现有的Linux系统调用跟踪工具存在跟踪上下文信息不全、无法高效地对通过网络通信的多进程应用程序进行跟踪以及跟踪结果缺少图形化展现的问题。通过扩展Linux系统调用跟踪工具strace,实现了启发式跟踪工具heuristic-strace,其能够实时发现和自动跟踪应用程序中通过网络通信的进程,形成进程创建关系图、进程网络通信关系图,并结合系统调用的栈回溯信息,定位进程的错误退出原因。实验结果表明,此工具对能对典型的GUI和网络应用软件进行跟踪,引入的性能开销比较低,并能保证被跟踪软件的正常交互。  相似文献   

16.
梅树起  原魁  张怀相 《机器人》2007,29(1):45-50
提出了一种基于平面投影不变量的目标跟踪算法.算法从图像中提取直线边缘计算投影不变量,用于对目标建模并跟踪.为提取直线边缘,使用改进的序列细化算法将边缘细化为单像素宽,而后用一种快速曲率估计方法估算边缘点的曲率,并保留估算值很小(约等于零)的点拟合直线.在所得直线族中按照邻近规则或者窗口规则挑选直线计算投影不变量.图像处理实验给出了用文中提出的图像预处理算法获得的直线边缘效果,并通过使用所得直线计算不变量的值衡量了所得不变量的稳定性和视角不变性.跟踪实验检验了跟踪算法的鲁棒性和实用性.  相似文献   

17.
为了满足测试覆盖分析和软件调试等程序分析技术对插桩技术的需求,提出了插桩模型,开发了一款实用的插桩工具。基于双缓冲技术,构建词法分析器和语法分析器。在语法分析归约时同步收集插桩信息,然后根据插桩策略执行插桩,生成目标文件。得到的程序运行时信息被应用于影响广泛的四种软件自动调试分析方法。对于这四种方法。缺陷语句均被准确识别为最可疑语句。应用结果表明,该方法能够为准确高效的程序分析提供必要的运行时信息。  相似文献   

18.
随着软件系统变得越来越复杂和庞大,软件中的安全缺陷也急剧增加,系统中的隐含错误也在逐渐增多.提出一种基于不变量的程序潜在错误预测方法,首先采用支持向量机对程序属性所产生的非函数依赖程序不变量进行学习并产生机器学习模式,然后运用该机器学习模式对需预测的程序进行属性分类,并揭示出代码可能存在的潜在错误,最后通过实验验证该方法是有效的.  相似文献   

19.
站在全新的角度研究系统重构的方法,提出一种基于现场跟踪分析方法的系统重构策略,系统地阐述现场跟踪方法的理论依据、设计思路、实现策略等。从工程的角度介绍了现场分析方法在系统重构上的设计方法,给出了系统总体结构、组成框架以及详细的工作流程。该技术应用于系统重构后,可以为大规模的逻辑芯片安全检测、硬件漏洞与"后门"发现、故障诊断与修复提供一种全新的解决方案。  相似文献   

20.
总结了编译器不能发现的常见运行错误和逻辑错误,以帮助初学者能较好的掌握程序调试技巧,提高编程能力.  相似文献   

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

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