Lazy Shape Analysis
Lazy Shape Analysis
复制标题
惰性形状分析
DOI:
10.1007/11817963_48
复制
发表时间:
2006
期刊:
影响因子:
--
通讯作者:
Grégory Théoduloz
中科院分区:
文献类型:
--
作者:
Dirk Beyer;T. Henzinger;Grégory Théoduloz
Many software model checkers are based on predicate abstraction. If the verification goal depends on pointer structures, the approach does not work well, because it is difficult to find adequate predicate abstractions for the heap. In contrast, shape analysis, which uses graph-based heap abstractions, can provide a compact representation of recursive data structures. We integrate shape analysis into the software model checker Blast. Because shape analysis is expensive, we do not apply it globally. Instead, we ensure that, like predicates, shape graphs are computed and stored locally, only where necessary for proving the verification goal. To achieve this, we extend lazy abstraction refinement, which so far has been used only for predicate abstractions, to three-valued logical structures. This approach does not only increase the precision of model checking, but it also increases the efficiency of shape analysis. We implemented the technique by extending Blast with calls to Tvla.