计算机游戏软件静态分析的参数超立方体域
1. 引言
计算机游戏软件蓬勃发展,每年销量超 2 亿,年收入超 100 亿美元。体育、动作和策略游戏等常依赖物理模拟,对开发者而言,编译时验证其行为属性颇具挑战。
这些程序通常有以下特点:
- 存在无限循环的 while 循环。
- 由多个实值变量构成复杂状态。
- 变量间存在强依赖关系。
以物理模拟为例,其变量多为实值,代表如位置、速度和加速度等物理量,且变量间相互关联。例如,物体碰撞时速度会突变,而速度又会影响位置,位置还可能影响加速度。
传统静态分析方法不太适合处理这类程序。非关系域过于近似,而像多面体或平行多面体等复杂关系域计算成本过高,实际应用不可行。
为解决这些问题,引入了参数超立方体这一新型析取非关系抽象域,它具有以下特点:
- 结合了多维区间操作的低计算成本和提升到幂集域的准确性。
- 元素的紧凑表示可限制分析的空间复杂度。
- 可通过设置超立方体边长来调整分析的准确性和效率。
下面将详细介绍相关内容,先从语言语法开始。
2. 语言语法
设 V 为有限变量集,I 为所有实值区间集。语言定义如下:
V ∈V, I ∈I, c ∈R
E := c|rand(I)|V |E < aop > E where < aop >∈{+, −, ×, ÷}
B := E < bop > E|B and B|not B|B or B where < b
超级会员免费看
订阅专栏 解锁全文
4102

被折叠的 条评论
为什么被折叠?



