我正在寻找一种在没有用户提示的情况下对循环进行加宽的方法。我会用一个例子来解释:
int z;
void main(void) {
int r = Frama_C_interval(0, MAX_INT);
z = 0;
for (int y=0; y<r; y++)
z++;
}
在此代码上运行 frama-c 值分析时,全局变量z接收区间 [--,--]。因为z被设置为零并且循环由增量运算符组成,所以自动扩大方法应该能够推断出更准确的区间是[0,--]。是否可以在 Frama-C 中执行此操作?