2003 · 25 citations · 22 references
ComputingComputer ScienceDatabasesNatural Language ProcessingSemanticsDatabase ManagementLexical AnalysisQuery ProcessingRelational AlgebraSemantic SearchStructured Query LanguageDatabase Query InterfacesLexical MatchingLexical Pattern MatchingPattern MatchingPattern SearchingRegular ExpressionsRelational Query LanguagesRelational Query Processing
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. 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 grok queries and grep commands. This paper presents the design decisions behind sgrep, and example queries that can be posed. The paper concludes with a case study in which sgrep was used to identify architectural anomalies in PostgreSQL, an open source Database Management System.
22
Information seeking in electronic environments
Choice Reviews Online · 1996 · 1.5K citations · Full text
P. J. Finnigan, Richard C. Holt, Ivan Kalaš et al. · IBM Systems Journal · 1997 · 207 citations
Ivan T. Bowman, Richard C. Holt, Neil V. Brewster · 1999 · 201 citations