Counterexample-guided abstraction refinement for linear programs with arrays

被引:0
|
作者
Alessandro Armando
Massimo Benerecetti
Jacopo Mantovani
机构
[1] University of Genova,Security & Trust
[2] FBK-IRST,undefined
[3] University of Napoli “Federico II”,undefined
来源
关键词
Predicate Abstraction Refinement; Boolean Programs; Edge-path Incidence; CPAchecker; Exit Vertex;
D O I
暂无
中图分类号
学科分类号
摘要
Predicate abstraction refinement is one of the leading approaches to software verification. The key idea is to abstract the input program into a Boolean Program (i.e. a program whose variables range over the Boolean values only and model the truth values of predicates corresponding to properties of the program state), and refinement searches for new predicates in order to build a new, more refined abstraction. Thus Boolean programs are commonly employed as a simple, yet useful abstraction. However, the effectiveness of predicate abstraction refinement on programs that involve a tight interplay between data-flow and control-flow is still to be ascertained. We present a novel counterexample guided abstraction refinement procedure for Linear Programs with arrays, a fragment of the C programming language where variables and array elements range over a numeric domain and expressions involve linear combinations of variables and array elements. In our procedure the input program is abstracted w.r.t. a family of sets of array indices, the abstraction is a Linear Program (without arrays), and refinement searches for new array indices. We use Linear Programs as the target of the abstraction (instead of Boolean programs) as they allow to express complex correlations between data and control. Thus, unlike the approaches based on predicate abstraction, our approach treats arrays precisely. This is an important feature as arrays are ubiquitous in programming. We provide a precise account of the abstraction, Model Checking, and refinement processes, discuss their implementation in the EUREKA tool, and present a detailed analysis of the experimental results confirming the effectiveness of our approach on a number of programs of interest.
引用
收藏
页码:225 / 285
页数:60
相关论文
共 50 条
  • [1] Counterexample-guided abstraction refinement for linear programs with arrays
    Armando, Alessandro
    Benerecetti, Massimo
    Mantovani, Jacopo
    [J]. AUTOMATED SOFTWARE ENGINEERING, 2014, 21 (02) : 225 - 285
  • [2] Counterexample-guided abstraction refinement for symmetric concurrent programs
    Donaldson, Alastair F.
    Kaiser, Alexander
    Kroening, Daniel
    Tautschnig, Michael
    Wahl, Thomas
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 2012, 41 (01) : 25 - 44
  • [3] Counterexample-guided abstraction refinement
    Clarke, E
    [J]. TIME-ICTL 2003: 10TH INTERNATIONAL SYMPOSIUM ON TEMPORAL REPRESENTATION AND REASONING AND FOURTH INTERNATIONAL CONFERENCE ON TEMPORAL LOGIC, PROCEEDINGS, 2003, : 7 - 8
  • [4] Counterexample-guided abstraction refinement for symmetric concurrent programs
    Alastair F. Donaldson
    Alexander Kaiser
    Daniel Kroening
    Michael Tautschnig
    Thomas Wahl
    [J]. Formal Methods in System Design, 2012, 41 : 25 - 44
  • [5] Effective Heuristics for Counterexample-Guided Abstraction Refinement
    He, Fei
    Song, Xiaoyu
    Gu, Ming
    Sun, Jiaguang
    [J]. GLSVLSI'07: PROCEEDINGS OF THE 2007 ACM GREAT LAKES SYMPOSIUM ON VLSI, 2007, : 393 - 398
  • [6] Counterexample-guided abstraction refinement for symbolic model checking
    Clarke, E
    Grumberg, O
    Jha, S
    Lu, Y
    Veith, H
    [J]. JOURNAL OF THE ACM, 2003, 50 (05) : 752 - 794
  • [7] Thread-Modular Counterexample-Guided Abstraction Refinement
    Malkis, Alexander
    Podelski, Andreas
    Rybalchenko, Andrey
    [J]. STATIC ANALYSIS, 2010, 6337 : 356 - +
  • [8] SAT-based counterexample-guided abstraction refinement
    Clarke, EA
    Anubhav, G
    Strichman, O
    [J]. IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2004, 23 (07) : 1113 - 1123
  • [9] Counterexample-Guided Cartesian Abstraction Refinement for Classical Planning
    Seipp, Jendrik
    Helmert, Malte
    [J]. JOURNAL OF ARTIFICIAL INTELLIGENCE RESEARCH, 2018, 62 : 535 - 577
  • [10] An Abstraction Refinement Technique for Timed Automata Based on Counterexample-Guided Abstraction Refinement Loop
    Nagaoka, Takeshi
    Okano, Kozo
    Kusumoto, Shinji
    [J]. IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2010, E93D (05) : 994 - 1005