共查询到20条相似文献,搜索用时 0 毫秒
1.
运行时错误是程序动态运行时产生的错误,错误发生后,需要借助传统的调试手段分析错误原因。对于某些异常行为和多线程程序不能再现真实的执行环境,传统的调试分析手段的作用不明显。如果能够捕获程序执行时的变量信息,那么运行时错误现场也会被捕获,进而以此为依据分析错误原因。对此提出基于变量跟踪的运行时错误现场捕获技术,它可以根据用户需求捕获特定变量信息,从而有效提高了变量信息获取的灵活性。以该技术为基础实现了运行时错误现场分析工具(RFST),该工具能够为程序运行时错误分析提供错误现场和辅助分析手段。 相似文献
2.
赵伟 《数字社区&智能家居》2013,(7):1575-1577
从减少软件开发成本和缩短软件开发周期的角度考虑,尽可能的在软件编码时期发现软件缺陷无疑是最佳选择,但软件运行时错误是所有的软件缺陷中最具风险的,发现该类错误最有效的手段就是专用测试工具。通过对几种主流的软件运行时错误测试工具的对比分析,探讨了各个工具的优缺点及选择的诸多因素,对于软件测试人员如何选择合适的该类测试工具,具有实际参考价值。 相似文献
3.
通过分析应用程序运行产生的各种运行时错误,指出了只有通过编写错误处理程序才能解决这些问题;设计了设置错误捕获、编写错误处理程序、退出错误处理程序、错误处理顺序、自动生成错误等具体方法及步骤。 相似文献
4.
缓存区溢出能引起非常严重的安全问题,对网络和分布式系统(如机群,网格,P2P系统等)构成严重威胁。数组越界在缓存区溢出中占据重要位置,如何检测数组越界错误是一个重要且极具意义的课题。针对该课题,给出一种对C语言数组越界进行运行时验证的方法。分析了数组越界的错误类型,根据这些类型分别研究了数组越界的运行时验证的思想;设计了基于程序插桩进行数组越界动态检测的算法,给出了该方法基于开源编译器Clang的具体实现;用实验证明了该方法是切实可行并且有效的。 相似文献
5.
6.
代码插桩是程序性能监控的重要环节。动态插桩通过对可执行程序代码的运行时修改支持动态性能监控,有助于降低性能分析工具的构建代价,提高工具易用性。本文首先阐述了Dyninst动态插桩系统的概念抽象与执行机理,然后结合大规模并行程序动态插桩的需要,对DPCL并行程序动态插桩基础设施以及基于MRNet的可扩展通信结构进行了深入分析。 相似文献
7.
在实际调试中,程序员往往通过追溯错误的变量值及其传播来定位软件错误,其中具有错误值的变量称为感染变量,感染变量在失败运行中具有错误值的程序位置即为感染位置。提出了一种结合动态正向程序切片和语句覆盖信息对程序变量感染的初始位置进行定位的技术。该技术通过分析感染变量的起源与传播,可以更加精确地找到与感染变量相关的错误语句集合。与传统的基于程序覆盖信息的错误定位技术进行了对比实验,结果表明,该技术可定位程序中的感染变量及其初始感染位置,并且可以显著提高程序错误定位的精度。 相似文献
8.
软错误是高辐照空间环境下影响计算可靠性的主要因素,结果错误(silent data corruption,简称SDC)是软错误造成的一种特殊的故障类型.针对SDC难以检测的问题,提出了一种基于不变量的检测方法.不变量是运行时刻保持不变的程序特征.在软错误发生后,由于程序受到影响,不变量一般不再满足.根据该原理,在源代码中插入以不变量为内容的断言,利用发生软错误后断言报错来检测软错误.首先,根据错误传播分析确定了检测位置,提取了检测位置的不变量;定义了表征不变量检测能力的渗透率,在同一检测位置依据渗透率将不变量转化为断言.通过错误注入实验,验证了该检测方法的有效性.实验结果表明:该检测方法具备较高的检出率和较低的检测代价,为星载系统的软错误防护提供了新的解决思路. 相似文献
9.
10.
Linux操作系统、嵌入式系统、航电系统、通信系统等一般都是用C/C++语言进行编写。因为C语言具有偏底层硬件、移植性强、执行效率高等优秀特性。但是随着多核并行机的出现,许多语言也开始支持多线程编程。由于C语言本身存在着对内存访问时,不对内存边界进行检查的问题,从而造成软件系统相关的可靠性和安全性问题。对多线程C语言程序来说,由于多线程程序的不确定性,使得运行时验证多线程C程序的内存安全问题变得更加困难。通过使用基于改进的指针运行时验证技术、多核多线程技术、并行计算、无锁数据结构技术、源代码插桩技术方法,并结合开源工具Clang编译器实现原型工具Movec对多线程C程序的支持。该工具实现了对多线程C程序内存安全问题的运行时验证。然后通过Mibench和SARD测试用例进行实验,验证了该工具对多线程C程序进行运行时验证的有效性。 相似文献
11.
12.
13.
C语言执行效率高,使用范围广泛,然而存在的安全问题也日益突出。内存错误是C程序中常见的缺陷,严重时将导致系统崩溃。传统的人工修复内存错误耗费大量人力物力,并可能在修复过程中引入新的错误。针对这个问题,提出了一种基于跟踪机制的程序自动修复方法。构建包含程序文件中变量作用分布的作用域树;提出基于全局指针的跟踪机制,通过插入全局指针跟踪发生错误的分配内存在程序中的状态;基于全局指针自动生成补丁,利用作用域树定位缺陷修复位置从而来安全地修复内存错误。基于上述过程,实现了原型工具DTSFix,并在开源程序中对其进行了评估。实验结果表明,DTSFix能够有效检测并修复程序中的真实缺陷而且不产生副作用。 相似文献
14.
根据线性控制系统稳定性分析的基本理论,运用MATLAB图形用户界面的设计功能,利用运行时服务器技术开发了稳定性分析的应用程序,提供了多种稳定性判断方法和系统模型描述形式,可以快速、准确地实现稳定性判断.同时也介绍了程序运行界面和运行时服务器应用程序的实现方法. 相似文献
15.
现有的Linux系统调用跟踪工具存在跟踪上下文信息不全、无法高效地对通过网络通信的多进程应用程序进行跟踪以及跟踪结果缺少图形化展现的问题。通过扩展Linux系统调用跟踪工具strace,实现了启发式跟踪工具heuristic-strace,其能够实时发现和自动跟踪应用程序中通过网络通信的进程,形成进程创建关系图、进程网络通信关系图,并结合系统调用的栈回溯信息,定位进程的错误退出原因。实验结果表明,此工具对能对典型的GUI和网络应用软件进行跟踪,引入的性能开销比较低,并能保证被跟踪软件的正常交互。 相似文献
16.
17.
18.
19.
刘胜永 《计算机应用与软件》2010,27(1):153-155,186
站在全新的角度研究系统重构的方法,提出一种基于现场跟踪分析方法的系统重构策略,系统地阐述现场跟踪方法的理论依据、设计思路、实现策略等。从工程的角度介绍了现场分析方法在系统重构上的设计方法,给出了系统总体结构、组成框架以及详细的工作流程。该技术应用于系统重构后,可以为大规模的逻辑芯片安全检测、硬件漏洞与"后门"发现、故障诊断与修复提供一种全新的解决方案。 相似文献
20.
总结了编译器不能发现的常见运行错误和逻辑错误,以帮助初学者能较好的掌握程序调试技巧,提高编程能力. 相似文献