Automata-based verification of programs with tree updates

被引:6
|
作者
Habermehl, Peter [1 ]
Iosif, Radu [2 ]
Vojnar, Tomas [3 ]
机构
[1] Univ Paris Diderot Paris 7, LIAFA, CNRS, F-75205 Paris 13, France
[2] Univ Grenoble 1, VERIMAG, CNRS, INPG, F-38610 Gieres, France
[3] Brno Univ Technol, FIT, Brno 61266, Czech Republic
关键词
Transition Rule; Size Function; Balance Tree; Tree Automaton; Black Node;
D O I
10.1007/s00236-009-0108-5
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
This paper describes a verification framework for Hoare-style pre- and post-conditions of programs manipulating balanced tree-like data structures. Since the considered verification problem is undecidable, we appeal to the standard semi-algorithmic approach in which the user has to provide loop invariants, which are then automatically checked, together with the program pre- and post-conditions. We specify sets of program states, representing tree-like memory configurations, using Tree Automata with Size Constraints (TASC). The main advantage of this new class of tree automata is that they recognise tree languages based on arithmetic reasoning about the lengths of various (possibly all) paths in trees, like, e.g., in AVL trees or red-black trees. TASCs are closed under union, intersection, and complement, and their emptiness problem is decidable. Thus we obtain a class of automata which are an interesting theoretical contribution by itself. Further, we show that, under few restrictions, one can automatically compute the effect of tree-updating program statements on the set of configurations represented by a TASC, which makes TASC a practical verification tool. We tried out our approach on the insertion procedure for red-black trees, for which we verified that the output on an arbitrary balanced red-black tree is also a balanced red-black tree.
引用
收藏
页码:1 / 31
页数:31
相关论文
共 50 条
  • [21] Automata-based confidentiality monitoring
    Le Guernic, Gurvan
    Banerjee, Anindya
    Jensen, Thomas
    Schmidt, David A.
    [J]. ADVANCES IN COMPUTER SCIENCE - ASIAN 2006: SECURE SOFTWARE AND RELATED ISSUES, 2007, 4435 : 75 - +
  • [22] Automata-Based Axiom Pinpointing
    Baader, Franz
    Penaloza, Rafael
    [J]. JOURNAL OF AUTOMATED REASONING, 2010, 45 (02) : 91 - 129
  • [23] A rapid learning automata-based approach for generalized minimum spanning tree problem
    Masoumeh Zojaji
    Mohammad Reza Mollakhalili Meybodi
    Kamal Mirzaie
    [J]. Journal of Combinatorial Optimization, 2020, 40 : 636 - 659
  • [24] A rapid learning automata-based approach for generalized minimum spanning tree problem
    Zojaji, Masoumeh
    Meybodi, Mohammad Reza Mollakhalili
    Mirzaie, Kamal
    [J]. JOURNAL OF COMBINATORIAL OPTIMIZATION, 2020, 40 (03) : 636 - 659
  • [25] Learning automata-based algorithms for solving stochastic minimum spanning tree problem
    Torkestani, Javad Akbari
    Meybodi, Mohammad Reza
    [J]. APPLIED SOFT COMPUTING, 2011, 11 (06) : 4064 - 4077
  • [26] Automata-Based Quantum Circuit Design Patterns Identification: A Novel Approach and Experimental Verification
    Romero, Francisco P.
    Cruz-Lemus, José A.
    Jiménez-Fernández, Sergio
    Piattini, Mario
    [J]. International Journal of Software Engineering and Knowledge Engineering, 2024, 34 (09) : 1415 - 1439
  • [27] Dynamic Multi-Agent Systems: Conceptual Framework, Automata-Based Modelling and Verification
    Condurache, Rodica
    De Masellis, Riccardo
    Goranko, Valentin
    [J]. PRINCIPLES AND PRACTICE OF MULTI-AGENT SYSTEMS (PRIMA 2019), 2019, 11873 : 106 - 122
  • [28] TREE AUTOMATA AND LOGIC PROGRAMS
    FILE, G
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1985, 182 : 119 - 130
  • [29] Cellular automata-based noise generator
    Kokolakis, I
    Koukopoulos, S
    Andreadis, I
    Boutalis, Y
    [J]. JOURNAL OF THE FRANKLIN INSTITUTE-ENGINEERING AND APPLIED MATHEMATICS, 1999, 336 (05): : 799 - 808
  • [30] Automata-Based CSL Model Checking
    Zhang, Lijun
    Jansen, David N.
    Nielson, Flemming
    Hermanns, Holger
    [J]. Automata, Languages and Programming, ICALP, Pt II, 2011, 6756 : 271 - 282