首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >汇编语言程序中的路径覆盖

汇编语言程序中的路径覆盖
EN

Stack Overflow用户
提问于 2014-03-05 14:27:32
回答 1查看 104关注 0票数 0

我有很多汇编代码,我想自动测试它们。测试必须在程序的所有路径中进行。是否有自动测试x86汇编语言程序的工具或程序?

EN

回答 1

Stack Overflow用户

发布于 2014-03-06 01:39:22

目前还没有“自动测试程序”的工具。

首先,必须有人指定要测试的内容(通常是程序功能,有时是程序的性能)。

然后,需要构建一些测试框架,以允许以一种可以执行测试和收集测试结果的方式来执行目标软件。

最后,需要使用框架对一些特定的测试(期望的输入、期望的输出)进行编码。

在您的例子中,您坚持执行“所有通过代码的路径”。

首先,在任何实际的应用程序中,这都是很多路径。它可能非常多,以至于您无法枚举所有路径,更不用说为每条路径构建测试了。作为一个实际问题,做路径测试的人会找到一种方法来消除许多路径(例如,如果有DO循环,则只检查循环的0和1转换的路径)。

其次,仅仅是在汇编程序中查找路径就可能非常困难。JMP间接会去哪里?(这意味着任何路径分析都可能需要点对点分析来支持它)。更糟糕的是,如果一些代码被制造到缓冲区中并执行,它会做什么,它会去哪里?事实上,在汇编程序中,有时你不能真正区分什么是指令,什么是数据。

第三,您需要一些工具来识别这些路径,这样您就可以验证您的测试是否使用了这些路径。据我所知,这些工具非常罕见。我认为汇编器几乎没有可用的东西。

因此,如果您对“所有路径”测试是认真的,那么您可能必须计划为此构建自己的工具。这将是昂贵和耗时的。根据您的交付要求,这可能是必要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22190258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档