DocumentCode
2139817
Title
A Comparative Study of Code Query Technologies
Author
Alves, Tiago L. ; Hage, Jurriaan ; Rademaker, Peter
Author_Institution
Software Improvement Group, Amsterdam, Netherlands
fYear
2011
fDate
25-26 Sept. 2011
Firstpage
145
Lastpage
154
Abstract
When analyzing software systems we face the challenge of how to implement a particular analysis for different programming languages. A solution for this problem is to write a single analysis using a code query language, abstracting from the specificities of languages being analyzed. Over the past ten years many code query technologies have been developed, based on different formalisms. Each technology comes with its own query language and set of features. To determine the state of the art of code querying we compare the languages and tools for seven code query technologies: Grok, Rscript, JRelCal, Semmle Code, JGraLab, CrocoPat and JTransformer. The specification of a package stability metric is used as a running example to compare the languages. The comparison involves twelve criteria, some of which are concerned with properties of the query language (paradigm, types, parametrization, polymorphism, modularity, and libraries), and some of which are concerned with the tool itself (output formats, interactive interface, API support, interchange formats, extraction support, and licensing). We contextualize the criteria in two usage scenarios: interactive and tool integration. We conclude that there is no particularly weak or dominant tool. As important improvement points, we identify the lack of library mechanisms, interchange formats, and possibilities for integration with source code extractors.
Keywords
program diagnostics; reverse engineering; software architecture; API support; CrocoPat; Grok; JGraLab; JRelCal; JTransformer; Rscript; Semmle Code; code query technology; extraction support; interactive interface; interchange format; language specificity; library mechanism; licensing; output format; package stability metric specification; programming language; query language; software system analysis; source code extractors; tool integration; Database languages; Educational institutions; Java; Licenses; Measurement; Software; Code query; CrocoPat; Grok; JGraLab; JRelCal; JTransformer; Rscript; SemmleCode; comparative study; software analysis;
fLanguage
English
Publisher
ieee
Conference_Titel
Source Code Analysis and Manipulation (SCAM), 2011 11th IEEE International Working Conference on
Conference_Location
Williamsburg, VI
Print_ISBN
978-1-4577-0932-6
Type
conf
DOI
10.1109/SCAM.2011.14
Filename
6065173
Link To Document