Automatic Verification of Golog Programs via Predicate Abstraction

作者:Mo Peiming; Li Naiqi; Liu Yongmei
来源:22nd European Conference on Artificial Intelligence (ECAI), 2016-08-29 to 2016-09-02.
DOI:10.3233/978-1-61499-672-9-760

摘要

Golog is a logic programming language for high-level agent control. In a recent paper, we proposed a sound but incomplete method for automatic verification of partial correctness of Golog programs where we give a number of heuristic methods to strengthen given formulas in order to discover loop invariants. However, our method does not work on arithmetic domains. On the other hand, the method of predicate abstraction is widely used in the software engineering community for model checking and partial correctness verification of programs. Intuitively, the predicate abstraction task is to find a formula consisting of a given set of predicates to approximate a given first-order formula. In this paper, we propose a method for automatic verification of partial correctness of Golog programs which use predicate abstraction as a uniform method to strengthen given formulas. We implement a system based on the proposed method, conduct experiments on arithmetical domains and examples from the paper by Li and Liu. Also, we apply our method to the verification of winning strategies for combinatorial games.

全文