2.2.3 ADTEST

更新于 2026年10月10日 版权声明
2.2.3 ADTEST

M.Gallagher等人开发的ADTEST[71]是对于Korel的研究在Ada语言上的扩展。该方法通过插装程序强制程序以任意一组数据为输入执行路径,插装语句会将各变量和分支谓词的状态返回到测试用例生成器。在执行路径时,该方法对路径上每个分支谓词施加一个指数形式的罚函数,而目标函数定义为各罚函数之和,从而将问题简化为不带约束的数值优化问题。(https://www.daowen.com)

这种方法支持整型、实型、离散类型以及子程序和异常处理。M.Gallagher等人用该方法为6万行Ada程序生成测试用例。采用罚函数后,该方法可以有效处理逻辑运算符。但是为尽早发现不可达路径,每次只考虑一个输入变量或者一个判断谓词,以及回溯和迭代方法的应用,都会导致大量的资源浪费。该方法求解效率比较低,难以处理真实的程序。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)