TY - GEN
T1 - Solving regular path queries
AU - Liu, Yanhong A.
AU - Yu, Fuxiang
N1 - Publisher Copyright: © Springer-Verlag Berlin Heidelberg 2002.
PY - 2002
Y1 - 2002
N2 - 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.
AB - 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.
UR - https://www.scopus.com/pages/publications/84959040988
U2 - 10.1007/3-540-45442-X_12
DO - 10.1007/3-540-45442-X_12
M3 - Conference contribution
SN - 3540438572
SN - 9783540438571
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 195
EP - 208
BT - Mathematics of Program Construction - 6th International Conference, MPC 2002 Dagstuhl Castle, Germany, July 8-10, 2002 Proceedings
A2 - Boiten, Eerke A.
A2 - Moller, Bernhard
PB - Springer Verlag
T2 - 6th International Conference on Mathematics of Program Construction, MPC 2002
Y2 - 8 July 2002 through 10 July 2002
ER -