51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4366|回复: 3
打印 上一主题 下一主题

[原创] 请教"程序插桩"与"探针插入"是不是一个概念?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2004-11-8 09:47:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在做有关于插桩的东西,可是一窍不通,

请高手指点插桩的具体过程,及插桩算法!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏

该用户从未签到

2#
发表于 2004-11-8 10:32:09 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2004-11-8 11:40:05 | 只看该作者

如果针对纯软件测试的程序插桩方法呢?

通过在程序中插入一些语句,了解在执行过程中的程序的动态特征,例如:程序实际执行路径,或是特定变量在特定时刻的取值。

    可是具体在那里插,插入怎样的程序(算法)呢?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-10-30 19:02:54 | 只看该作者
根据摆渡的定义是一样的
 程序插桩技术最早是由J.C. Huang 教授提出的, 它是在保证被测程序原有逻辑完整性的基础上在程序中插入一些探针(又称为“探测仪”),通过探针的执行并抛出程序运行的特征数据,通过对这些数据的分析,可以获得程序的控制流和数据流信息,进而得到逻辑覆盖等动态信息,从而实现测试目的的方法。 由于程序插桩技术是在被测程序中插入探针,然后通过探针的执行来获得程序的控制流和数据流信息,以此来实现测试的目的。因此,根据探针插入的时间可以分为目标代码插桩和源代码插桩。   (1)目标代码插桩的前提是对目标代码进:   行必要的分析以确定需要插桩的地点和内容。由于目标代码的格式主要和操作系统相关,和具体的编程语言及版本无关,所以得到了广泛的应用,尤其是在需要对内存进行监控的软件中。但是由于目标代码中语法、语义信息不完整,而插桩技术需要对代码词法语法的分析有较高的要求,故在覆盖测试工具中多采用源代码插桩。   (2)源代码插桩是在对源文件进行完整的:   词法分析和语法分析的基础上进行的,这就保证对源文件的插桩能够达到很高的准确度和针对性。但是源代码插桩需要接触到源代码,使得工作量较大,而且随着编码语言和版本的不同需要做一定的修改。在后面我们所提到的程序插桩均指源代码插桩。   程序插桩:是借助往被测程序中插入操作,来实现测试目的的方法。 程序插桩的基本原理是在不破坏被测试程序原有逻辑完整性的前提下,在程序的相应位置上插入一些探针。这些探针本质上就是进行信息采集的代码段,可以是赋值语句或采集覆盖信息的函数调用。通过探针的执行并输出程序的运行特征数据。基于对这些特征数据的分析,揭示程序的内部行为和特征。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 19:00 , Processed in 0.076204 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表