Abstract Interpretation from Buchi Automata

被引:9
作者
Hofmann, Martin [1 ]
Chen, Wei [2 ]
机构
[1] Ludwig Maximilians Univ Munchen, Munich, Germany
[2] Univ Edinburgh, Edinburgh, Midlothian, Scotland
来源
PROCEEDINGS OF THE JOINT MEETING OF THE TWENTY-THIRD EACSL ANNUAL CONFERENCE ON COMPUTER SCIENCE LOGIC (CSL) AND THE TWENTY-NINTH ANNUAL ACM/IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE (LICS) | 2014年
关键词
Type Systems; Type-and-Effect Systems; Temporal Properties; Liveness; MODAL MU-CALCULUS; MODEL CHECKING; SYSTEM; TREES;
D O I
10.1145/2603088.2603127
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We describe the construction of an abstract lattice from a given Buchi automata. The abstract lattice is finite and has the following key properties. (i) There is a Galois connection between it and the (infinite) lattice of languages of finite and infinite words over a given alphabet. (ii) The abstraction is faithful with respect to acceptance by the automaton. (iii) Least fixpoints and omega-iterations (but not in general greatest fixpoints) can be computed on the level of the abstract lattice. This allows one to develop an abstract interpretation capable of checking whether finite and infinite traces of a (recursive) program are accepted by a policy automaton. It is also possible to cast this analysis in form of a type and effect system with the effects being elements of the abstract lattice. While the resulting decidability and complexity results are known (regular model checking for pushdown systems) the abstract lattice provides a new point of view and enables smooth integration with data types, objects, higher-order functions which are best handled with abstract interpretation or type systems. We demonstrate this by generalising our type-and-effect systems to object-oriented programs and higher-order functions.
引用
收藏
页数:10
相关论文
共 50 条
[41]   Detection of Uncaught Exceptions in Functional Programs by Abstract Interpretation [J].
Lermusiaux, Pierre ;
Montagu, Benoit .
PROGRAMMING LANGUAGES AND SYSTEMS, PT II, ESOP 2024, 2024, 14577 :391-420
[42]   Verification of Erlang programs using abstract interpretation and model checking [J].
Huch, F .
ACM SIGPLAN NOTICES, 1999, 34 (09) :261-272
[43]   Calculational Design of [In]Correctness Transformational Program Logics by Abstract Interpretation [J].
Cousot, Patrick .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (POPL)
[44]   Preface to a special section on verification, model checking, and abstract interpretation [J].
Neil D. Jones ;
Markus Müller-Olm .
International Journal on Software Tools for Technology Transfer, 2011, 13 (6)
[45]   Evaluation of the Implementation of an Abstract Interpretation Algorithm using Tabled CLP [J].
Arias, Joaquin ;
Carro, Manuel .
THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2019, 19 (5-6) :1107-1123
[46]   An Abstract Interpretation Approach for Enhancing the Java']Java Bytecode Verifier [J].
Barbuti, Roberto ;
De Francesco, Nicoletta ;
Tesei, Luca .
COMPUTER JOURNAL, 2010, 53 (06) :679-700
[47]   Stable Relations and Abstract Interpretation of Higher-Order Programs [J].
Montagu, Benoit ;
Jensen, Thomas .
PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (ICFP)
[48]   Domain Precision in Galois Connection-Less Abstract Interpretation [J].
Mastroeni, Isabella ;
Pasqua, Michele .
STATIC ANALYSIS, SAS 2023, 2023, 14284 :434-459
[49]   From Real-time Logic to Timed Automata [J].
Ferrere, Thomas ;
Maler, Oded ;
Nickovic, Dejan ;
Pnueli, Amir .
JOURNAL OF THE ACM, 2019, 66 (03)
[50]   Conjunctive type systems and abstract interpretation of higher-order functional programs [J].
Jensen, TP .
JOURNAL OF LOGIC AND COMPUTATION, 1995, 5 (04) :397-421