【摘 要】
:
软件的质量问题越来越受到人们的重视,我们经常会使用测试、验证等技术来对软件的质量进行检测和验证。在检测过程中,需要了解和分析软件的行为。而为了分析软件的行为,插桩技术
论文部分内容阅读
软件的质量问题越来越受到人们的重视,我们经常会使用测试、验证等技术来对软件的质量进行检测和验证。在检测过程中,需要了解和分析软件的行为。而为了分析软件的行为,插桩技术被广泛地应用。
插桩技术是通过在源程序或者目标代码中插入一些新的代码,来收集程序在执行过程中某一时刻的系统状态(快照)信息。比如,某次执行的路径覆盖信息、函数调用图。这些信息可以用于表明测试的充分度,验证程序的行为是否满足给定的规约,或者调试过程中的错误定位。传统的使用插桩的办法是,对特定的应用编制一个特别的插桩程序,将代码直接插入到源程序中,需要根据具体应用编写相应的插桩代码。这样就会导致重复开发,无谓地浪费了时间和人力;另外,插桩代码充斥在整个逻辑代码中,也非常影响开发人员对程序逻辑的把握。软件测试或验证发现了程序实现错误之后,程序员需要通过调试来排除错误,但调试过程中的定位一直是困扰程序员的问题之一。针对上述问题,本文面向程序员,研究了无痕插桩技术,以及插桩技术在软件的分析与调试中的应用,主要工作包括:
1.提出了一种无痕插桩方法,该方法能够将插桩需求无痕地体现在源代码中,程序员看不到插入的代码,却能够感知插桩的存在,并且基于Eclipse平台实现了一个无痕插桩引擎;
2.基于无痕插桩引擎,实现了一个程序员调试助手以及一个基于规则的批量插桩工具;
3.选择了内存泄漏这一典型程序实现错误,研究了插桩技术在内存泄露定位中的应用。
其他文献
随着控制技术、计算机技术、通信技术的飞速发展,现场总线技术正逐渐取代集散控制技术。PROFIBUS现场总线技术作为应用最为广泛的现场总线技术之一,截止至2008年8月,其安装节点
计算机辅助教学(Computer Aided Instruction,CAI)是现代科学技术在教育领域的主要应用。随着校园网络的普及,基于校园网环境下的网络多媒体学习系统逐渐成为CAI教育发展的研究
随着互联网的迅猛发展,流媒体成为网络上的重要传输内容。然而,由于流媒体的先天特征,导致了流媒体商家和作者对媒体版权的权益受到侵害变得异常简单。这也正是促进DRM技术进步
随着计算技术的逐步发展,一种新的计算模式--普适计算,正从学术研究逐渐走向实际应用。普适计算环境中,各种嵌入的,移动的和固定的计算、传感设备存在于看得见或者看不见的每一个
随着互联网技术的迅速发展以及计算机用户的急剧增加,互联网已经成为人们获取信息的一项主要途径。然而互联网上很多重要的信息一般都被其它信息掩盖,人们很难从如此众多的网
自1982年波兰学者Z.Pawlak创立粗糙集以来,粗糙集受到了广大学者的普遍关注,并已经广泛地应用于模式识别、机器学习、决策分析等众多领域。目前,粗糙集在地学及遥感方面也得
聚类分析是数据挖掘中的一个重要研究领域,被广泛应用于金融欺诈、医疗诊断、图像处理、信息检索和生物信息学等领域。近年来,针对数值属性数据的聚类算法研究已取得了丰硕的
在网络时代的冲击下,人们更热衷于自由、对等、高效、安全的使用网络资源,也正是这个原因,逐渐成就了对等网络(Peer-to-peer network,简称P2P网络)。对等网络按照拓扑结构不同可
随着网络技术的不断发展,企业信息化已成为当今社会的一个重要课题。企业内部出现了越来越多的应用系统,这些系统的引入在一定程度上提高了企业的信息化程度,但是由于各个系
SIP(Session Initiation Protocol,会话初始协议)是目前VoIP领域的主流信令协议之一,SIP协议易于扩展,能够和SDP,RTP/RTCP等协议很好的协作,并且结构清晰,适用于嵌入式平台。