Verifying Total Correctness of Graph Programs

نویسندگان

  • Christopher M. Poskitt
  • Detlef Plump
چکیده

GP 2 is an experimental nondeterministic programming language based on graph transformation rules, allowing for visual programming and the solving of graph problems at a high-level of abstraction. In previous work we demonstrated how to verify graph programs using a Hoare-style proof calculus, but only partial correctness was considered. In this paper, we add new proof rules and termination functions, which allow for proofs to additionally guarantee that program executions always terminate (weak total correctness), or that programs always terminate and do so without failure (total correctness). We show that the new proof rules are sound with respect to the operational semantics of GP 2, complete for termination, and demonstrate their use on some example programs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Hoare Logic for Graph Programs

We present a new approach for verifying programs written in GP (for Graph Programs), an experimental programming language for performing computations on graphs at a high level of abstraction. Taking a labelled graph as input, a graph program nondeterministically applies to it a number of graph transformation rules, directed by simple control constructs such as sequential composition and as-long...

متن کامل

A Hoare Calculus for Graph Programs

We present Hoare-style axiom schemata and inference rules for verifying the partial correctness of programs in the graph programming language GP. The preand postconditions of this calculus are the nested conditions of Habel, Pennemann and Rensink, extended with expressions for labels in order to deal with GP’s conditional rule schemata and infinite label alphabet. We show that the proof rules a...

متن کامل

Proving correctness of graph programs relative to recursively nested conditions

Graph programs provide a formal way to model the behaviour of a wide range of discrete systems. These programs are an extension of graph rewriting with control structures (sequence, nondeterministic choice and iteration). This thesis presents a theoretically founded formalism for specifying properties of graph programs and a proof-based approach to verifying the partial correctness of a graph p...

متن کامل

Towards the Verification of Graph Programs Qualifying Dissertation

GP (for Graph Programs) is an experimental programming language which allows one to manipulate graphs at a very high level of abstraction. There are numerous applications for graph programs: from solving graph problems without the need to consider low level data structures, to specifying the operational behaviour of systems, to simulating the behaviour of pointers. To reason about the correctne...

متن کامل

Verifying Monadic Second-Order Properties of Graph Programs

The core challenge in a Hoareor Dijkstra-style proof system for graph programs is in defining a weakest liberal precondition construction with respect to a rule and a postcondition. Previous work addressing this has focused on assertion languages for first-order properties, which are unable to express important global properties of graphs such as acyclicity, connectedness, or existence of paths...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • ECEASST

دوره 61  شماره 

صفحات  -

تاریخ انتشار 2013