2.2.1 直线式程序法
Webb Miller和David L.Spooner提出的就是直线式程序法[65]。这种方法将路径上的判断语句进行替换,替换之后都变成了布尔型赋值语句,其形式为B=(bj≥0),B=(bj>0),B=(bj=0),其中bj反映第j个分支谓词在多大程度上接近满足。这种方法还使用等价的直线式程序替换路径上的语句。(https://www.daowen.com)
该方法可用于黑盒测试,能处理一些非线性约束,对被测程序预处理很少。但它要求用户提前提供问题的部分解,即所有整数类型的变量值。该方法对于输入变量无整数限制的线性约束路径是完备的。但由于数值优化过程可能陷入局部极值,故该方法对非线性约束不是完备的。