## Parametric regular path queries (2004)

### Cached

### Download Links

Venue: | In PLDI ’04: Proceedings of the ACM SIGPLAN 2004 conference on Programming Language Design and Implementation |

Citations: | 25 - 4 self |

### BibTeX

@INPROCEEDINGS{Liu04parametricregular,

author = {Yanhong A. Liu and Tom Rothamel and Fuxiang Yu and Scott D. Stoller and Nanjun Hu},

title = {Parametric regular path queries},

booktitle = {In PLDI ’04: Proceedings of the ACM SIGPLAN 2004 conference on Programming Language Design and Implementation},

year = {2004},

pages = {219--230},

publisher = {ACM Press}

}

### Years of Citing Articles

### OpenURL

### Abstract

Regular path queries are a way of declaratively expressing queries on graphs as regular-expression-like patterns that are matched against paths in the graph. There are two kinds of queries: existential queries, which specify properties about individual paths, and universal queries, which specify properties about all paths. They provide a simple and convenient framework for expressing program analyses as queries on graph representations of programs, for expressing verification (model-checking) problems as queries on transition systems, for querying semi-structured data, etc. Parametric regular path queries extend the patterns with variables, called parameters, which significantly increase the expressiveness by allowing additional information along single or multiple paths to be captured and related. This paper shows how a variety of program analysis and model-checking problems can be expressed easily and succinctly using parametric regular path queries. The paper describes the specification, design, analysis, and implementation of algorithms and data structures for efficiently solving existential and universal parametric regular path queries. Major contributions include the first complete algorithms and data structures for directly and efficiently solving existential and universal parametric regular path queries, detailed complexity analysis of the algorithms, detailed analytical and experimental performance comparison of variations of the algorithms and data structures, and investigation of efficiency tradeoffs between different formulations of queries. Categories and Subject Descriptors D.2.4 [Software Engineering]: Software/Program verification—model

### Citations

515 | Querying semi-structured data
- Abiteboul
- 1997
(Show Context)
Citation Context ...presentations of programs [6] and for expressing model-checking problems as queries on transition systems. Regular path queries are also important in analyzing semistructured data in database systems =-=[1]-=-, particularly data in XML [19], which is increasingly used for representing data, including programs as data.Regular expression patterns can capture simple but common and important properties easily... |

386 | Precise interprocedural dataflow analysis via graph reachability
- REPS, HORWITZ, et al.
- 1995
(Show Context)
Citation Context ...d the equalities are tracked implicitly. We could make this interprocedural analysis more precise by using context free grammars to restrict the algorithm to consider only valid interprocedural paths =-=[14]-=-. 5.3 Complexity analysis and performance For a given user query and query algorithm, our complexity analysis result corresponds to a formula that gives the worst-case asymptotic running time and spac... |

381 | A theory of type qualifiers
- Foster, Fahndrich, et al.
- 1999
(Show Context)
Citation Context ...ies with zero parameters and one parameter (which gets bound to the associated variable), respectively; this is illustrated by the interrupts and freed memory examples in Section 2. ESP [5] and CQUAL =-=[9]-=- deal with a similar class of properties. These projects focus on defect detection and verification for C programs. In contrast to these and other dataflow frameworks and type systems for analyzing pr... |

255 | ESP: path-sensitive program verification in polynomial time
- Das, Lerner, et al.
- 2002
(Show Context)
Citation Context ...ular path queries with zero parameters and one parameter (which gets bound to the associated variable), respectively; this is illustrated by the interrupts and freed memory examples in Section 2. ESP =-=[5]-=- and CQUAL [9] deal with a similar class of properties. These projects focus on defect detection and verification for C programs. In contrast to these and other dataflow frameworks and type systems fo... |

204 | A system and language for building system-specific, static analyses
- Hallem, Chelf, et al.
- 2002
(Show Context)
Citation Context ...strings, even though not graphs. Many interesting applications of regular path queries in program analysis and model checking require parameters, as shown by the examples in this paper. Engler et al. =-=[10]-=- demonstrated that program analyses expressed as state machines can be very effective at finding defects in software. Global state machines and variable-specific state machines in their framework roug... |

83 | Introduction to set constraint-based program analysis
- Aiken
- 1999
(Show Context)
Citation Context ... analyses and on the detailed design and complexity analysis of the analysis algorithms. Parametric regular path queries are not as powerful as some other analysis frameworks, such as set constraints =-=[11, 2]-=- and temporal logic [18], but they are more perspicuous and convenient, and they are sufficiently powerful to express many interesting properties in many application domains, and they can easily be us... |

77 | Synthesizing fast intrusion prevention/detection systems from high-level specifications
- Sekar, Uppuluri
- 1999
(Show Context)
Citation Context ...ata [21, 1], but parameters are essential for expressing correlations of information in different parts of the data. For example, parameters are needed in querying system logs for intrusion detection =-=[16]-=-, and in many other applications that use regular expression packages for matching strings, even though not graphs. Many interesting applications of regular path queries in program analysis and model ... |

56 |
Data flow analysis as model checking
- Steffen
- 1991
(Show Context)
Citation Context ...ed design and complexity analysis of the analysis algorithms. Parametric regular path queries are not as powerful as some other analysis frameworks, such as set constraints [11, 2] and temporal logic =-=[18]-=-, but they are more perspicuous and convenient, and they are sufficiently powerful to express many interesting properties in many application domains, and they can easily be used within more powerful ... |

56 |
Graph-theoretic methods in database theory
- Yannakakis
- 1990
(Show Context)
Citation Context ...to analyze these properties are simple, easy to write, and succinct. General algorithms have been studied for solving simpler regular path queries, in particular, queries involving uncorrelated paths =-=[21]-=- and queries containing no variables [12, 6]. A method was also proposed to code parametric regular path queries using logic programs [7]. What have been lacking are complete algorithms and data struc... |

46 |
An automatic technique for the selection of data representations in SETL programs
- Schonberg, Schwartz, et al.
- 1981
(Show Context)
Citation Context ...vel language similar to the pseudo code given in Sections 3 and 4, which is translated to C++ by a Python program. The translator takes care of implementation details such as data structure selection =-=[15]-=- and multiset discrimination [3]. One of the benefits of using a translator to generate the C++ code is that we can easily experiment with changes in precomputation and data structure representation. ... |

37 | Set constraints and set-based analysis
- Heintze, Jaffar
- 1994
(Show Context)
Citation Context ... analyses and on the detailed design and complexity analysis of the analysis algorithms. Parametric regular path queries are not as powerful as some other analysis frameworks, such as set constraints =-=[11, 2]-=- and temporal logic [18], but they are more perspicuous and convenient, and they are sufficiently powerful to express many interesting properties in many application domains, and they can easily be us... |

27 | Typestate verification: Abstraction techniques and complexity results
- Field, Goyal, et al.
- 2003
(Show Context)
Citation Context ...xample, that f is not closed after it was opened—or miss errors. To solve such equality problems, we may use the same query and employ a separate module to track equalities. For example, Field et al. =-=[8]-=- study how to check program properties specified using regular expressions with one-level pointers. We can extend parametric regular path queries to express and check such properties as well. An open ... |

24 | Trace-based program analysis - Colby, Lee - 1996 |

20 | Transforming the .NET Intermediate Language using Path Logic Programming
- Drape, Moor, et al.
- 2002
(Show Context)
Citation Context ... queries, in particular, queries involving uncorrelated paths [21] and queries containing no variables [12, 6]. A method was also proposed to code parametric regular path queries using logic programs =-=[7]-=-. What have been lacking are complete algorithms and data structures for solving parametric regular path queries directly, efficiently, and with precise complexity analysis. This paper. This paper stu... |

18 | Incremental execution of transformation specifications
- Sittampalam, Moor, et al.
- 2004
(Show Context)
Citation Context ...utomata directly, saving space. Drape et al. [7] describe how to program universal parametric queries as logic programs but do not give a direct algorithm for solving such queries. Sittampalam et al. =-=[17]-=- developed an incremental algorithm for solving universal parametric queries on restricted graphs expressible as walks on trees; the algorithm can be much faster than a batch algorithm for recomputati... |

13 | Universal regular path queries
- Moor, Lacey, et al.
- 2002
(Show Context)
Citation Context ...ar-expression-like patterns that are matched against paths in the graph. They provide a simple and convenient framework for expressing program analyses as queries on graph representations of programs =-=[6]-=- and for expressing model-checking problems as queries on transition systems. Regular path queries are also important in analyzing semistructured data in database systems [1], particularly data in XML... |

5 | Solving regular path queries
- Liu, Yu
- 2002
(Show Context)
Citation Context ...asy to write, and succinct. General algorithms have been studied for solving simpler regular path queries, in particular, queries involving uncorrelated paths [21] and queries containing no variables =-=[12, 6]-=-. A method was also proposed to code parametric regular path queries using logic programs [7]. What have been lacking are complete algorithms and data structures for solving parametric regular path qu... |

4 | Data flow analysis as model checking - Steen - 1991 |

1 |
no hashing, and no arrays either
- Ma
- 1991
(Show Context)
Citation Context ...o code given in Sections 3 and 4, which is translated to C++ by a Python program. The translator takes care of implementation details such as data structure selection [15] and multiset discrimination =-=[3]-=-. One of the benefits of using a translator to generate the C++ code is that we can easily experiment with changes in precomputation and data structure representation. The high-level source files for ... |

1 | Look Ma, no hashing, and no arrays either - Cai, Paige - 1991 |