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
来源
PROGRAMMING LANGUAGES AND SYSTEMS, APLAS 2020 | 2020年 / 12470卷
基金
日本学术振兴会;
关键词
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 条
  • [21] OptCE: A Counterexample-Guided Inductive Optimization Solver
    Albuquerque, Higo F.
    Araujo, Rodrigo F.
    Bessa, Iury V.
    Cordeiro, Lucas C.
    de Lima Filho, Eddie B.
    FORMAL METHODS: FOUNDATIONS AND APPLICATIONS, SBMF 2017, 2017, 10623 : 125 - 141
  • [22] Counterexample-guided inductive synthesis for probabilistic systems
    Ceska, Milan
    Hensel, Christian
    Junges, Sebastian
    Katoen, Joost-Pieter
    FORMAL ASPECTS OF COMPUTING, 2021, 33 (4-5) : 637 - 667
  • [23] Effective Heuristics for Counterexample-Guided Abstraction Refinement
    He, Fei
    Song, Xiaoyu
    Gu, Ming
    Sun, Jiaguang
    GLSVLSI'07: PROCEEDINGS OF THE 2007 ACM GREAT LAKES SYMPOSIUM ON VLSI, 2007, : 393 - 398
  • [24] Counterexample-guided abstraction refinement for symbolic model checking
    Clarke, E
    Grumberg, O
    Jha, S
    Lu, Y
    Veith, H
    JOURNAL OF THE ACM, 2003, 50 (05) : 752 - 794
  • [25] Counterexample-guided abstraction refinement for linear programs with arrays
    Alessandro Armando
    Massimo Benerecetti
    Jacopo Mantovani
    Automated Software Engineering, 2014, 21 : 225 - 285
  • [26] Counterexample-guided abstraction refinement for symmetric concurrent programs
    Donaldson, Alastair F.
    Kaiser, Alexander
    Kroening, Daniel
    Tautschnig, Michael
    Wahl, Thomas
    FORMAL METHODS IN SYSTEM DESIGN, 2012, 41 (01) : 25 - 44
  • [27] Solving quantified linear arithmetic by counterexample-guided instantiation
    Reynolds, Andrew
    King, Tim
    Kuncak, Viktor
    FORMAL METHODS IN SYSTEM DESIGN, 2017, 51 (03) : 500 - 532
  • [28] Counterexample-guided abstraction refinement for linear programs with arrays
    Armando, Alessandro
    Benerecetti, Massimo
    Mantovani, Jacopo
    AUTOMATED SOFTWARE ENGINEERING, 2014, 21 (02) : 225 - 285
  • [29] Solving quantified linear arithmetic by counterexample-guided instantiation
    Andrew Reynolds
    Tim King
    Viktor Kuncak
    Formal Methods in System Design, 2017, 51 : 500 - 532
  • [30] A counterexample-guided refinement tool for open procedural programs
    Dimovski, A
    Ghica, DR
    Lazic, R
    MODEL CHECKING SOFTWARE, PROCEEDINGS, 2006, 3925 : 288 - 292