A Counterexample-Guided Debugger for Non-recursive Datalog

被引:1
|
作者
Van-Dang Tran [1 ,3 ]
Kato, Hiroyuki [1 ,3 ]
Hu, Zhenjiang [1 ,2 ]
机构
[1] Natl Inst Informat, Tokyo, Japan
[2] Peking Univ, Beijing, Peoples R China
[3] Grad Univ Adv Studies, SOKENDAI, Hayama, Kanagawa, Japan
基金
日本学术振兴会;
关键词
Debugging; Datalog; Bidirectional transformation;
D O I
10.1007/978-3-030-64437-6_17
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
The Datalog language is used in many potential applications including database queries, program analysis, bidirectional transformations, and so forth. In practice, such a Datalog program is expected to be well-written to meet requirements such as the round-tripping properties in bidirectional programming. Although verifying and debugging Datalog programs play an essential role to guarantee the expected properties of these programs, very few approaches have been proposed. The existing approaches require much users' effort in finding out unintended behaviors or unexpected computations of the Datalog program that neither counterexamples nor bug explanations are provided. In this paper, we propose an efficient approach to interactively debugging Datalog programs so that the user's burden is reduced. Specifically, we provide a syntax for users to specify properties of non-recursive Datalog programs, present a counterexample generator that verifies specified properties and generates counterexamples to show unexpected behaviors of user-written programs, and design a debugging engine combined with a dialog-based user interface to assist users in locating bugs in the programs with the generated counterexamples. We have implemented a prototype of our approach and demonstrated its feasibility and efficiency.
引用
收藏
页码:323 / 342
页数:20
相关论文
共 50 条
  • [1] Counterexample-Guided Partial Bounding for Recursive Function Synthesis
    Farzan, Azadeh
    Nicolet, Victor
    COMPUTER AIDED VERIFICATION (CAV 2021), PT I, 2021, 12759 : 832 - 855
  • [2] Counterexample-guided control
    Henzinger, TA
    Jhala, R
    Majumdar, R
    AUTOMATA, LANGUAGES AND PROGRAMMING, PROCEEDINGS, 2003, 2719 : 886 - 902
  • [3] Random databases and threshold for monotone non-recursive datalog
    Korovin, K
    Voronkov, A
    MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE 2005, PROCEEDINGS, 2005, 3618 : 591 - 602
  • [4] Counterexample-Guided Diagnosis
    Riener, Heinz
    Fey, Goerschwin
    2016 1ST IEEE INTERNATIONAL VERIFICATION AND SECURITY WORKSHOP (IVSW), 2016, : 43 - 48
  • [5] Counterexample-Guided Focus
    Podelski, Andreas
    Wies, Thomas
    POPL'10: PROCEEDINGS OF THE 37TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2010, : 249 - 260
  • [6] Counterexample-Guided Focus
    Podelski, Andreas
    Wies, Thomas
    ACM SIGPLAN NOTICES, 2010, 45 (01) : 249 - 260
  • [7] Counterexample-Guided Data Augmentation
    Dreossi, Tommaso
    Ghosh, Shromona
    Yue, Xiangyu
    Keutzer, Kurt
    Sangiovanni-Vincentelli, Alberto
    Seshia, Sanjit A.
    PROCEEDINGS OF THE TWENTY-SEVENTH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE, 2018, : 2071 - 2078
  • [8] Counterexample-Guided Precondition Inference
    Seghir, Mohamed Nassim
    Kroening, Daniel
    PROGRAMMING LANGUAGES AND SYSTEMS, 2013, 7792 : 451 - 471
  • [9] Counterexample-guided abstraction refinement
    Clarke, E
    TIME-ICTL 2003: 10TH INTERNATIONAL SYMPOSIUM ON TEMPORAL REPRESENTATION AND REASONING AND FOURTH INTERNATIONAL CONFERENCE ON TEMPORAL LOGIC, PROCEEDINGS, 2003, : 7 - 8
  • [10] Counterexample-Guided Model Synthesis
    Preiner, Mathias
    Niemetz, Aina
    Biere, Armin
    TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, TACAS 2017, PT I, 2017, 10205 : 264 - 280