English
Related papers

Related papers: Reasoning about Graph Programs

200 papers

GP (for Graph Programs) is a rule-based, nondeterministic programming language for solving graph problems at a high level of abstraction, freeing programmers from handling low-level data structures. The core of GP consists of four…

Logic in Computer Science · Computer Science 2010-04-08 Detlef Plump , Sandra Steinert

GP 2 is an experimental programming language based on graph transformation rules which aims to facilitate program analysis and verification. Writing efficient programs in such a language is hard because graph matching is expensive, however…

Programming Languages · Computer Science 2021-01-05 Graham Campbell , Jack Romo , Detlef Plump

Implementing graph algorithms efficiently in a rule-based language is challenging because graph pattern matching is expensive. In this paper, we present a number of linear-time implementations of graph algorithms in GP 2, an experimental…

Programming Languages · Computer Science 2021-01-06 Graham Campbell , Brian Courtehoute , Detlef Plump

GP 2 is an experimental programming language for computing by graph transformation. An initial interpreter for GP 2, written in the functional language Haskell, provides a concise and simply structured reference implementation. Despite its…

Programming Languages · Computer Science 2015-04-13 Christopher Bak , Glyn Faulkner , Detlef Plump , Colin Runciman

This papers defines the syntax and semantics of GP 2, a revised version of the graph programming language GP. New concepts are illustrated and explained with example programs. Changes to the first version of GP include an improved type…

Programming Languages · Computer Science 2012-04-26 Detlef Plump

GP 2 is a rule-based programming language based on graph transformation rules which aims to facilitate program analysis and verification. Writing efficient programs in such a language is challenging because graph matching is expensive. GP 2…

Programming Languages · Computer Science 2021-01-06 Graham Campbell , Jack Romo , Detlef Plump

The graph programming language GP 2 allows to apply sets of rule schemata (or "attributed" rules) non-deterministically. To analyse conflicts of programs statically, graphs labelled with expressions are overlayed to construct critical pairs…

Logic in Computer Science · Computer Science 2017-05-08 Ivaylo Hristakiev , Detlef Plump

Program logics typically reason about an over-approximation of program behaviour to prove the absence of bugs. Recently, program logics have been proposed that instead prove the presence of bugs by means of under-approximate reasoning,…

Logic in Computer Science · Computer Science 2022-03-15 Christopher M. Poskitt

We consider Hoare-style verification for the graph programming language GP 2. In previous work, graph properties were specified by so-called E-conditions which extend nested graph conditions. However, this type of assertions is not easy to…

Logic in Computer Science · Computer Science 2020-12-04 Gia S. Wulandari , Detlef Plump

The operational semantics of a programming language is said to be small-step if each transition step is an atomic computation step in the language. A semantics with this property faithfully corresponds to the implementation of the language.…

Programming Languages · Computer Science 2021-12-22 Brian Courtehoute , Detlef Plump

We report on a recent breakthrough in rule-based graph programming, which allows us to reach the time complexity of imperative linear-time algorithms. In general, achieving the complexity of graph algorithms in conventional languages using…

Programming Languages · Computer Science 2025-03-27 Ziad Ismaili Alaoui , Detlef Plump

We consider Hoare-style verification for the graph programming language GP 2. In previous work, graph properties were specified by so-called E-conditions which extend nested graph conditions. However, this type of assertions is not easy to…

Logic in Computer Science · Computer Science 2020-11-04 Gia Wulandari , Detlef Plump

Termination analyses investigate the termination behavior of programs, intending to detect nontermination, which is known to cause a variety of program bugs (e.g. hanging programs, denial-of-service vulnerabilities). Beyond formal…

Software Engineering · Computer Science 2022-08-01 Yoav Alon , Cristina David

We report on recent advances in rule-based graph programming, which allow us to match the time complexity of some fundamental imperative graph algorithms. In general, achieving the time complexity of graph algorithms implemented in…

Programming Languages · Computer Science 2026-05-27 Ziad Ismaili Alaoui , Detlef Plump

We present a form of algebraic reasoning for computational objects which are expressed as graphs. Edges describe the flow of data between primitive operations which are represented by vertices. These graphs have an interface made of…

Logic in Computer Science · Computer Science 2010-07-23 Lucas Dixon , Ross Duncan , Aleks Kissinger

We consider a simple extension of logic programming where variables may range over goals and goals may be arguments of predicates. In this language we can write logic programs which use goals as data. We give practical evidence that, by…

Programming Languages · Computer Science 2007-05-23 Alberto Pettorossi , Maurizio Proietti

We target the problem of provably computing the equivalence between two complex expression trees. To this end, we formalize the problem of equivalence between two such programs as finding a set of semantics-preserving rewrite rules from one…

Programming Languages · Computer Science 2021-06-10 Steve Kommrusch , Théo Barollet , Louis-Noël Pouchet

An isomorphism between two graphs is a bijection between their vertices that preserves the edges. We consider the problem of determining whether two finite undirected weighted graphs are isomorphic, and finding an isomorphism relating them…

Optimization and Control · Mathematics 2016-11-03 Reza Takapoui , Stephen Boyd

In this work we propose a multi-valued extension of logic programs under the stable models semantics where each true atom in a model is associated with a set of justifications. These justifications are expressed in terms of causal graphs…

Artificial Intelligence · Computer Science 2014-09-26 Pedro Cabalar , Jorge Fandinno , Michael Fink

We present a method for verifying partial correctness properties of imperative programs that manipulate integers and arrays by using techniques based on the transformation of constraint logic programs (CLP). We use CLP as a metalanguage for…

Programming Languages · Computer Science 2013-09-23 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti
‹ Prev 1 2 3 10 Next ›