Programming with sets; an introduction to SETL
Programming with sets; an introduction to SETL
Program derivation by fixed point computation
Science of Computer Programming
The deductive foundations of computer programming: a one-volume version of “the logical basis for computer programming”
From regular expressions to DFA's using compressed NFA's
Theoretical Computer Science
A Unified Approach to Path Problems
Journal of the ACM (JACM)
Fast Algorithms for Solving Path Problems
Journal of the ACM (JACM)
Finite Differencing of Computable Expressions
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficiency by Incrementalization: An Introduction
Higher-Order and Symbolic Computation
Data Structures and Algorithms
Data Structures and Algorithms
Universal Regular Path Queries
Higher-Order and Symbolic Computation
Model-Checking: A Tutorial Introduction
SAS '99 Proceedings of the 6th International Symposium on Static Analysis
Viewing A program Transformation System At Work
ALP '94 Proceedings of the 4th International Conference on Algebraic and Logic Programming
IEEE Software
Transforming the .NET intermediate language using path logic programming
Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
Proceedings of the 2nd international conference on Aspect-oriented software development
From datalog rules to efficient programs with time and space guarantees
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Parametric regular path queries
Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation
From datalog rules to efficient programs with time and space guarantees
ACM Transactions on Programming Languages and Systems (TOPLAS)
PADL'06 Proceedings of the 8th international conference on Practical Aspects of Declarative Languages
The complexity of evaluating path expressions in SPARQL
PODS '12 Proceedings of the 31st symposium on Principles of Database Systems
The complexity of regular expressions and property paths in SPARQL
ACM Transactions on Database Systems (TODS) - Invited papers issue
Hi-index | 0.00 |
Regular path queries are a way of declaratively specifying program analyses as a kind of regular expressions that are matched against paths in graph representations of programs. These and similar queries are useful for other path analysis problems as well. This paper describes the precise specification, derivation, and analysis of a complete algorithm and data structures for solving regular path queries. We first show two ways of specifyingt he problem and deriving a high-level algorithmic solution, using predicate logic and language inclusion, respectively. Both lead to a set-based fixed-point specification. We then derive a complete implementation from this specification using Paige's methods that consist of dominated convergence, finite differencing, and real-time simulation. This formal derivation allows us to analyse the time and space complexity of the implementation precisely in terms of size parameters of the graph and the deterministic finite automaton that corresponds to the regular expression. In particular, the time and space complexity is linear in the size of the graph. We also note that the problem is PSPACE-complete in terms of the size of the regular expression. In applications such as program analysis, the size of the graph may be very large, but the size of the regular expression is small and can be considered a constant.