Reverse engineering using graph queries

  • Authors:
  • Jürgen Ebert;Daniel Bildhauer

  • Affiliations:
  • University of Koblenz-Landau;University of Koblenz-Landau

  • Venue:
  • Graph transformations and model-driven engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software Reverse Engineering is the process of extracting (usually more abstract) information from software artifacts. Graph-based engineering tools work on fact repositories that keep all artifacts as graphs. Hence, information extraction can be viewed as querying this repository. This paper describes the graph query language GReQL and its use in reverse engineering tools. GReQL is an expression language based on set theory and predicate logics including regular path expressions (RPEs) as first class values. The GReQL evaluator is described in some detail with an emphasis on the efficient evaluation of RPEs for reachability and path-finding queries. Applications for reverse engineering Java software are added as sample use cases.