Personal tools
You are here: Home Members Oege de Moor Publications CodeQuest: Scalable source code queries with DataLog
Document Actions

CodeQuest: Scalable source code queries with DataLog

In: David Thomas, Procs. of the European Conference on Object-Oriented Programming (ECOOP), 2006.

Authors: Elnar Hajiyev, Mathieu Verbaere, and Oege de Moor
>

Abstract

Source code querying tools allow programmers to explore relations between different parts of the code base. This paper describes such a tool, named CodeQuest. It combines two previous proposals, namely the use of logic programming and database systems.

As the query language we use safe Datalog, which was originally introduced in the theory of databases. That provides just the right level of expressiveness; in particular recursion is indispensable for source code queries. Safe Datalog is like Prolog, but all queries are guaranteed to terminate, and there is no need for extra-logical annotations.

Our implementation of Datalog maps queries to a relational database system. We are thus able to capitalise on the query optimiser provided by such a system. For recursive queries we implement our own optimisations in the translation from Datalog to SQL. Experiments confirm that this strategy yields an efficient, scalable code querying system.

(PDF)

BIBTEX:

           @inproceedings{ecoop06codequest, 
           author = "Elnar Hajiyev and 
                         Mathieu Verbaere and
                         Oege de Moor", 
           title = "CodeQuest: Scalable Source Code Queries with Datalog", 
           editor = "David Thomas",
           booktitle = "Proceedings of the European Conference on Object-Oriented Programming", 
           year = "2006"} 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: