A decision tree abstract domain for proving conditional termination

被引:40
|
作者
Urban, Caterina [1 ]
Miné, Antoine [1 ]
机构
[1] ÉNS & CNRS & INRIA, France
关键词
Artificial intelligence - Computers;
D O I
10.1007/978-3-319-10936-7_19
中图分类号
学科分类号
摘要
We present a new parameterized abstract domain able to refine existing numerical abstract domains with finite disjunctions. The elements of the abstract domain are decision trees where the decision nodes are labeled with linear constraints, and the leaf nodes belong to a numerical abstract domain. The abstract domain is parametric in the choice between the expressivity and the cost of the linear constraints for the decision nodes (e.g., polyhedral or octagonal constraints), and the choice of the abstract domain for the leaf nodes. We describe an instance of this domain based on piecewise-defined ranking functions for the automatic inference of sufficient preconditions for program termination. We have implemented a static analyzer for proving conditional termination of programs written in (a subset of) ʗ and, using experimental evidence, we show that it performs well on a wide variety of benchmarks, it is competitive with the state of the art and is able to analyze programs that are out of the reach of existing methods. © Springer International Publishing Switzerland 2014.
引用
收藏
页码:302 / 318
相关论文
共 50 条
  • [1] A Decision Tree Abstract Domain for Proving Conditional Termination
    Urban, Caterina
    Mine, Antoine
    STATIC ANALYSIS (SAS 2014), 2014, 8723 : 302 - 318
  • [2] Proving conditional termination
    Cook, Byron
    Gulwani, Sumit
    Lev-Ami, Tal
    Rybalchenko, Andrey
    Sagiv, Mooly
    COMPUTER AIDED VERIFICATION, 2008, 5123 : 328 - 340
  • [3] Proving Termination Through Conditional Termination
    Borralleras, Cristina
    Brockschmidt, Marc
    Larraz, Daniel
    Oliveras, Albert
    Rodriguez-Carbonell, Enric
    Rubio, Albert
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2017, PT I, 2017, 10205 : 99 - 117
  • [4] Proving Conditional Termination for Smart Contracts
    Le, Ton Chanh
    Xu, Lei
    Chen, Lin
    Shi, Weidong
    PROCEEDINGS OF THE 2ND ACM WORKSHOP ON BLOCKCHAINS, CRYPTOCURRENCIES, AND CONTRACTS (BCC'18), 2018, : 57 - 59
  • [5] A Binary Decision Tree Abstract Domain Functor
    Chen, Junjie
    Cousot, Patrick
    STATIC ANALYSIS (SAS 2015), 2015, 9291 : 36 - 53
  • [6] Proving termination of tree manipulating programs
    Habermehl, Peter
    Iosif, Radu
    Rogalewicz, Adam
    Vojnar, Tomas
    AUTOMATED TECHNOLOGY FOR VERIFICATION AND ANALYSIS, PROCEEDINGS, 2007, 4762 : 145 - +
  • [7] Precise Widening Operators for Proving Termination by Abstract Interpretation
    Courant, Nathanael
    Urban, Caterina
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2017, PT I, 2017, 10205 : 136 - 152
  • [8] PROVING TERMINATION OF NORMALIZATION FUNCTIONS FOR CONDITIONAL EXPRESSIONS.
    Paulson, Lawrence C.
    1600, (02):
  • [9] PROVING TERMINATION OF (CONDITIONAL) REWRITE SYSTEMS - A SEMANTIC APPROACH
    BEVERS, E
    LEWI, J
    ACTA INFORMATICA, 1993, 30 (06) : 537 - 568
  • [10] On proving operational termination incrementally with modular conditional dependency pairs
    Nakamura, Masaki
    Ogata, Kazuhiro
    Futatsugi, Kokichi
    IAENG International Journal of Computer Science, 2013, 40 (02) : 117 - 123