2013 20th Working Conference on Reverse Engineering (WCRE) (2002)
Oct. 29, 2002 to Nov. 1, 2002
Searching source code is one of the most common activities of software engineers. Text editors and other support tools normally provide searching based on lexical expressions (regular expressions). Some more advanced editors provide a way to add semantic direction to some of the searches. Recent research has focused on advancing the semantic options available to text-based queries. Most of these results make use of heavy weight relational database management technology.<div></div> In this paper we explore the extension of lexical pattern matching by means of light weight relational queries, implemented using a tool called grok. A "semantic grep" ( sgrep) command was implemented, which translates queries in a mixed algebraic and lexical language into a combination of grokqueries and grepcommands. This paper presents the design decisions behind sgrep, and example queries that can be posed. The paper concludes with a case study in which sgrepwas used to identify architectural anomalies in PostgreSQL, an open source Database Management System.
A.J. Malton, A. Trevors, M.W. Godfrey, R.I. Bull, "Semantic Grep: Regular Expressions + Relational Abstraction", 2013 20th Working Conference on Reverse Engineering (WCRE), vol. 00, no. , pp. 0267, 2002, doi:10.1109/WCRE.2002.1173084