Improving Strategies via SMT Solving

被引:0
|
作者
Gawlitza, Thomas Martin [1 ]
Monniaux, David [1 ]
机构
[1] CNRS VERIMAG, Gieres, France
来源
关键词
POLICY ITERATION; RELAXATION; INVARIANTS; ALGORITHM;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We consider the problem of computing numerical invariants of programs by abstract interpretation. Our method eschews two traditional sources of imprecision: (i) the use of widening operators for enforcing convergence within a finite number of iterations (ii) the use of merge operations (often, convex hulls) at the merge points of the control flow graph. It instead computes the least inductive invariant expressible in the domain at a restricted set of program points, and analyzes the rest of the code en bloc. We emphasize that we compute this inductive invariant precisely. For that we extend the strategy improvement algorithm of Gawlitza and Seidl [17]. If we applied their method directly, we would have to solve an exponentially sized system of abstract semantic equations, resulting in memory exhaustion. Instead, we keep the system implicit and discover strategy improvements using SAT modulo real linear arithmetic (SMT). For evaluating strategies we use linear programming. Our algorithm has low polynomial space complexity and performs for contrived examples in the worst case exponentially many strategy improvement steps; this is unsurprising, since we show that the associated abstract reachability problem is Pi(p)(2)-complete.
引用
收藏
页码:236 / 255
页数:20
相关论文
共 50 条
  • [1] Improving complex SMT strategies with learning
    Galvez Ramirez, Nicolas
    Monfroy, Eric
    Saubion, Frederic
    Castro, Carlos
    [J]. INTERNATIONAL TRANSACTIONS IN OPERATIONAL RESEARCH, 2020, 27 (02) : 1162 - 1188
  • [2] Modal satisfiability via SMT solving
    Universidad Nacional de Córdoba & CONICET, Córdoba, Argentina
    不详
    不详
    [J]. Lect. Notes Comput. Sci., (30-45):
  • [3] Timed Automata Learning via SMT Solving
    Tappler, Martin
    Aichernig, Bernhard K.
    Lorber, Florian
    [J]. NASA FORMAL METHODS (NFM 2022), 2022, 13260 : 489 - 507
  • [4] Optimizing SMT solving strategies by learning with an evolutionary process
    Galvez Ramirez, Nicolas
    Monfroy, Eric
    Saubion, Frederic
    Castro, Carlos
    [J]. PROCEEDINGS 2018 INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING & SIMULATION (HPCS), 2018, : 816 - 820
  • [5] Speeding up SMT Solving via Compiler Optimization
    Mikek, Benjamin
    Zhang, Qirun
    [J]. PROCEEDINGS OF THE 31ST ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2023, 2023, : 1177 - 1189
  • [6] Proving the Incompatibility of Efficiency and Strategyproofness via SMT Solving
    Brandl, Florian
    Brandt, Felix
    Eberl, Manuel
    Geist, Christian
    [J]. JOURNAL OF THE ACM, 2018, 65 (02)
  • [7] A Workflow for Healthcare Systems via OCL and SMT Solving
    Wu, Hao
    Hinsberger, Laure
    Timoney, Joseph
    [J]. 2018 IEEE/ACM INTERNATIONAL WORKSHOP ON SOFTWARE ENGINEERING IN HEALTHCARE SYSTEMS (SEHS), 2018, : 42 - 45
  • [8] Testing for Race Conditions in Distributed Systems via SMT Solving
    Pereira, Joao Carlos
    Machado, Nuno
    Pinto, Jorge Sousa
    [J]. TESTS AND PROOFS (TAP 2020), 2020, 12165 : 122 - 140
  • [9] Generating Metamodel Instances Satisfying Coverage Criteria via SMT Solving
    Wu, Hao
    [J]. PROCEEDINGS OF THE 4TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT (MODELSWARD 2016), 2016, : 40 - 51
  • [10] Bounded Model Checking of Graph Transformation Systems via SMT Solving
    Isenberg, Tobias
    Steenken, Dominik
    Wehrheim, Heike
    [J]. FORMAL TECHNIQUES FOR DISTRIBUTED SYSTEMS, FMOODS/FORTE 2013, 2013, 7892 : 178 - 192