Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Towards a metrics suite for object oriented design
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Gram: a graph data model and query languages
ECHT '92 Proceedings of the ACM conference on Hypertext
GRAS, a graph oriented (software) engineering database system
Information Systems
A versatile data structure for edge-oriented graph algorithms
Communications of the ACM
Finding Regular Simple Paths in Graph Databases
SIAM Journal on Computing
GraphLog: a visual formalism for real life recursion
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Programming Techniques: Regular expression search algorithm
Communications of the ACM
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
The LEDA Platform of Combinatorial and Geometric Computing
ICALP '97 Proceedings of the 24th International Colloquium on Automata, Languages and Programming
An Incremental Compiler as Component of a System for Software Generation
Programmiersprachen und Programmentwicklung, 6. Fachtagung des Fachausschusses Programmiersprachen der GI
Querying as an Enabling Technology in Software Reengineering
CSMR '99 Proceedings of the Third European Conference on Software Maintenance and Reengineering
Efficient Relational Calculation for Software Analysis
IEEE Transactions on Software Engineering
Relational programming with CrocoPat
Proceedings of the 28th international conference on Software engineering
GXL: a graph-based standard exchange format for reengineering
Science of Computer Programming - Software analysis, evolution and re-engineering
Graphs-at-a-time: query language and access methods for graph databases
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
WCRE 1998 Most Influential Paper: Grokking Software Architecture
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
The Graph Rewriting Language and Environment PROGRES
Applications of Graph Transformations with Industrial Relevance
Bridging query languages in semantic and graph technologies
ReasoningWeb'10 Proceedings of the 6th international conference on Semantic technologies for software engineering
Interoperability Services for Models and Ontologies
Proceedings of the 2011 conference on Databases and Information Systems VI: Selected Papers from the Ninth International Baltic Conference, DB&IS 2010
GRAF: graph-based runtime adaptation framework
Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
The GReTL transformation language
ICMT'11 Proceedings of the 4th international conference on Theory and practice of model transformations
GReTL: an extensible, operational, graph-based transformation language
Software and Systems Modeling (SoSyM)
Graph and model transformation tools for model migration
Software and Systems Modeling (SoSyM)
A survey and comparison of transformation tools based on the transformation tool contest
Science of Computer Programming
Hi-index | 0.00 |
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.