![](https://csdnimg.cn/release/download_crawler_static/88626572/bg4.jpg)
G. Lu
,
H.Miao/Electronic Notes in Theoretical Computer Science 309
(
2014
)
13
每个子路径的适合性。他们的方法奖励满足更多路径约束的个体,这与我们的方法
相似。其缺点是仍然存在
Kalaji
方法中的问题
3
预赛
3.1
扩展有限状态机
一个有限状态机由一组有限的状态、转换、输入和输出组成。由于有限状态机不能
指定系统的数据部分,我们使用扩展的有限状态机来建模被测系统。
EFSM
通过上
下文变量、谓词和操作扩展了FSM。
EFSM是一个六元组(S
,
s
0
,
V
,
I
,
O
,
T),其中S是一组有限的状态,s
0
是初始状态,
V
是上下文变量的有限集合,
I
是输入的有限集合,
O
是输出的有限集
合,
T
是转换的有限集合。 过渡
t∈T
是一个五元组(
s
s
,
i
,
g
,
op
,
s
e
),其中
s
s
是
t
的源状态,
i
∈
I
是可能与输入参数相关联的输入,
g
是一个逻辑表达式,称为
guard condition
,
op
是由赋值语句或输出语句组成的操作,
s
e
是
t
的目标状态。 如
果状态是
s
,则输入是i, 满足保护条件,则触发转换t=(s
s
,
i
,
g
,
op
,
s
e
),同
时执行op中的操作,EFSM转换到状态s
e
。g和op都可以包含输入参数和上下文变
量。在这里,我们只考虑确定性EFSM。EFSM是确定性的,如果对于离开状态的相
同输入的转换,一次只满足一个转换的保护条件[16]。关于EFSM的定义和细节可以
在
[2]
中找到
3.2
符号执行
符号执行
[17]
是一种静态分析程序的方法。它用符号值代替实值来执行程序,结果
是符号表达式。理解输入和输出之间的关系是有用的。
当符号执行用于测试数据生成时,测试数据生成问题可以转化为求解符号表达式
的问题,该符号表达式是由使用符号值执行路径而产生的例如,给定
转移路径
t1t2t3
,每个转移上的谓词是x>0,y15和z≥10
分开我们用符号a、b和c分别代替变量x、y和z。在使用符号值执行路径之后,我们
获得符号表达式
a >0
且
D b 15
且
D c≥ 10
。 路径测试数据的生成问题
t1t2t3
现在转换为寻找符号的解决方案的问题
表达式a>0AN D b 15AN D c≥ 10。