Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Michael R. Laurence is active.

Publication


Featured researches published by Michael R. Laurence.


Theoretical Computer Science | 2003

Equivalence of conservative, free, linear program schemas is decidable

Michael R. Laurence; Sebastian Danicic; Mark Harman; Robert M. Hierons; John Howroyd

A program schema defines a class of programs, all of which have identical statement structures, but whose expressions may differ. We prove that given any two structured schemas which are conservative, linear and free, it is decidable whether they are equivalent.


Theoretical Computer Science | 2011

A unifying theory of control dependence and its application to arbitrary program structures

Sebastian Danicic; Richard W. Barraclough; Mark Harman; John Howroyd; Ákos Kiss; Michael R. Laurence

There are several similar, but not identical, definitions of control dependence in the literature. These definitions are given in terms of control flow graphs which have had extra restrictions imposed (for example, end-reachability).We define two new generalisations of non-termination insensitive and non-termination sensitive control dependence called weak and strong control-closure. These are defined for all finite directed graphs, not just control flow graphs and are hence allow control dependence to be applied to a wider class of program structures than before.We investigate all previous forms of control dependence in the literature and prove that, for the restricted graphs for which each is defined, vertex sets are closed under each if and only if they are either weakly or strongly control-closed. Low polynomial-time algorithms for producing minimal weakly and strongly control-closed sets over generalised control flow graphs are given.This paper is the first to define an underlying semantics for control dependence: we define two relations between graphs called weak and strong projections, and prove that the graph induced by a set of vertices is a weak/strong projection of the original if and only if the set is weakly/strongly control-closed. Thus, all previous forms of control dependence also satisfy our semantics. Weak and strong projections, therefore, precisely capture the essence of control dependence in our generalisations and all the previous, more restricted forms. More fundamentally, these semantics can be thought of as correctness criteria for future definitions of control dependence.


International Conference on Relational and Algebraic Methods in Computer Science | 2014

Completeness Theorems for Bi-Kleene Algebras and Series-Parallel Rational Pomset Languages

Michael R. Laurence; Georg Struth

The congruence on series-parallel rational pomset expressions induced by series-parallel rational pomset language identity is shown to be axiomatised by the Kleene algebra axioms plus those of commutative Kleene algebra. A decision procedure is extracted from this proof. On the way to this result, series-parallel rational pomset languages are proved to be closed under the operations of co-Heyting algebras and homomorphisms.


ACM Transactions on Computational Logic | 2012

Complexity of Data Dependence Problems for Program Schemas with Concurrency

Sebastian Danicic; Robert M. Hierons; Michael R. Laurence

The problem of deciding whether one point in a program is data dependent upon another is fundamental to program analysis and has been widely studied. In this article we consider this problem at the abstraction level of program schemas in which computations occur in the Herbrand domain of terms and predicate symbols, which represent arbitrary predicate functions, are allowed. Given a vertex l in the flowchart of a schema S having only equality (variable copying) assignments, and variables v, w, we show that it is PSPACE-hard to decide whether there exists an execution of a program defined by S in which v holds the initial value of w at at least one occurrence of l on the path of execution, with membership in PSPACE holding provided there is a constant upper bound on the arity of any predicate in S. We also consider the ‘dual’ problem in which v is required to hold the initial value of w at every occurrence of l, for which the analogous results hold. Additionally, the former problem for programs with nondeterministic branching (in effect, free schemas) in which assignments with functions are allowed is proved to be polynomial-time decidable provided a constant upper bound is placed upon the number of occurrences of the concurrency operator in the schemas being considered. This result is promising since many concurrent systems have a relatively small number of threads (concurrent processes), especially when compared with the number of statements they have.


Mathematical Structures in Computer Science | 2011

On the computational complexity of dynamic slicing problems for program schemas

Sebastian Danicic; Robert M. Hierons; Michael R. Laurence

Given a program, a quotient can be obtained from it by deleting zero or more statements. The field of program slicing is concerned with computing a quotient of a program that preserves part of the behaviour of the original program. All program slicing algorithms take account of the structural properties of a program, such as control dependence and data dependence, rather than the semantics of its functions and predicates, and thus work, in effect, with program schemas. The dynamic slicing criterion of Korel and Laski requires only that program behaviour is preserved in cases where the original program follows a particular path, and that the slice/quotient follows this path. In this paper we formalise Korel and Laskis definition of a dynamic slice as applied to linear schemas, and also formulate a less restrictive definition in which the path through the original program need not be preserved by the slice. The less restrictive definition has the benefit of leading to smaller slices. For both definitions, we compute complexity bounds for the problems of establishing whether a given slice of a linear schema is a dynamic slice and whether a linear schema has a non-trivial dynamic slice, and prove that the latter problem is NP-hard in both cases. We also give an example to prove that minimal dynamic slices (whether or not they preserve the original path) need not be unique.


The Journal of Logic and Algebraic Programming | 2015

Completeness results for omega-regular algebras

James Cranch; Michael R. Laurence; Georg Struth

Abstract We present algebras that axiomatise the equational theories of two variants of omega-regular expressions. The first algebra simplifies a two-sorted infinitary axiomatisation by Wagner. Its completeness is established relatively to Wagners completeness result. The second one is based on one-sorted algebras proposed by Park and Cohen. Its completeness is derived from our first result.


ACM Transactions on Programming Languages and Systems | 2018

Static Backward Slicing of Non-deterministic Programs and Systems

Sebastian Danicic; Michael R. Laurence

A theory of slicing non-deterministic programs and systems is developed. Non-deterministic programs and systems are represented as non-deterministic program graphs (NDPGs) that allow arbitrary non-deterministic branching to be expressed. Structural and semantic relationships that must exist between an NDPG and (1) its non-termination insensitive (weak) slices and (2) its non-termination sensitive (strong) slices are defined. Weak and strong commitment closure are introduced. These are the NDPG equivalents of being closed under non-termination sensitive and non-termination insensitive control dependence; properties defined on subsets of vertices of the equivalent deterministic structure: the control flow graph. It is proved that if a subset of the vertices of an NDPG is both data dependence closed and (weak/strong) commitment closed, then the resulting induced graph will, indeed, satisfy our structural and semantic requirements. O(n3) algorithms for computing minimal data and weak/strong commitment closed sets are given. The resulting induced graphs are thus guaranteed to be weak and strong slices, respectively. It is demonstrated, with examples, that programs written in Dijkstras non-deterministic guarded command language (DNGCL) can be converted to NDPGs to which our slicing algorithms can then be applied. It is proved that the resulting slices (NDPGs) can always be converted back to valid DNGCL programs, highlighting the applicability of our approach to slicing at the source code level.


RAMiCS'12 Proceedings of the 13th international conference on Relational and Algebraic Methods in Computer Science | 2012

On completeness of omega-regular algebras

Michael R. Laurence; Georg Struth

Omega-regular algebras axiomatise the equational theory of omega-regular expressions as induced by omega-regular language identity. Wagner presented an omega-regular algebra which requires recursively defined side conditions in some of its axioms. We introduce a first-order Horn axiomatisation for which such conditions can be avoided because additive and multiplicative units are absent. We prove its completeness relative to Wagners result using categorical constructions for adjoining additive and multiplicative units.


The Journal of Logic and Algebraic Programming | 2011

Decidability of strong equivalence for subschemas of a class of linear, free, near-liberal program schemas

Sebastian Danicic; Robert M. Hierons; Michael R. Laurence

Program schema defines a class of programs, all of which have identical statement structure, but whose functions and predicates may differ. A schema thus defines an entire class of programs according to how its symbols are interpreted. Two schemas are strongly equivalent if they always define the same function from initial states to final states for every interpretation. A subschema of a schema is obtained from a schema by deleting some of its statements. A schema S is liberal if there exists an initial state in the Herbrand domain such that the same term is not generated more than once along any executable path through S . In this paper, we introduce near-liberal schemas, in which this non-repeating condition applies only to terms not having the form g() for a constant function symbol g . Given a schema S that is linear (no function or predicate symbol occurs more than once in S ) and a variable v , we compute a set of function and predicate symbols in S which is a subset of those defined by Weiser’s slicing algorithm and prove that if for every while predicate q in S and every constant assignment w≔g(); lying in the body of q, no other assignment to w also lies in the body of q, our smaller symbol set defines a correct subschema of S with respect to the final value of v after execution. We also prove that if S is also free (every path through S is executable) and near-liberal, it is decidable which of its subschemas are strongly equivalent to S. For the class of pairs of schemas in which one schema is a subschema of the other, this generalises a recent result in which S was required to be linear, free and liberal.


The Journal of Logic and Algebraic Programming | 2007

Characterizing minimal semantics-preserving slices of predicate-linear, free, liberal program schemas

Sebastian Danicic; Robert M. Hierons; Michael R. Laurence

A program schema defines a class of programs, all of which have identical statement structure, but whose functions and predicates may differ. A schema thus defines an entire class of programs according to how its symbols are interpreted. A subschema of a schema is obtained from a schema by deleting some of its statements. We prove that given a schema S which is predicate-linear, free and liberal, such that the true and false parts of every if predicate satisfy a simple additional condition, and a slicing criterion defined by the final value of a given variable after execution of any program defined by S, the minimal subschema of S which respects this slicing criterion contains all the function and predicate symbols ‘needed’ by the variable according to the data dependence and control dependence relations used in program slicing, which is the symbol set given by Weiser’s static slicing algorithm. Thus this algorithm gives predicate-minimal slices for classes of programs represented by schemas satisfying our set of conditions. We also give an example to show that the corresponding result with respect to the slicing criterion defined by termination behaviour is incorrect. This complements a result by the authors in which S was required to be function-linear, instead of predicate-linear.

Collaboration


Dive into the Michael R. Laurence's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Mark Harman

University College London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Georg Struth

University of Sheffield

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge