Proceedings Article10.1109/ICSM.1994.336782
Querying source code using an algebraic query language
33
TL;DR: The formal framework of Source Code Algebra (SCA) is introduced, and a source code query system based on it is outlined, which provides a formal data model for source code, an algebraic expression-based query language, and opportunities for query optimization.
read more
Abstract: Querying and analyzing source code interactively is a critical task in reverse engineering and program understanding. Current source code query systems lack sufficient formalism and offer limited query capabilities. We introduce the formal framework of Source Code Algebra (SCA), and outline a source code query system based on it. SCA provides a formal data model for source code, an algebraic expression-based query language, and opportunities for query optimization. An algebraic model of source code addresses the issues of conceptual integrity, expressive power, and performance of a source code query system within a unified framework. >
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Journal Article
Code Quest : Scalable Source Code Queries with Datalog
TL;DR: This paper describes a source code querying tool, named codeQuest, which combines two previous proposals, namely the use of logic programming and database systems, and uses safe Datalog, which was originally introduced in the theory of databases.
196
CodeQuest : scalable source code queries with datalog
Elnar Hajiyev,Mathieu Verbaere,Oege de Moor +2 more
- 03 Jul 2006
TL;DR: CodeQuest as mentioned in this paper uses safe Datalog, which was originally introduced in the theory of databases, to map queries to a relational database system, and optimises the translation from safe datalog to SQL.
190
GraX-an interchange format for reengineering tools
Jürgen Ebert,B. Kullbach,Andreas Winter +2 more
- 06 Oct 1999
TL;DR: A graph-based format is proposed to exchange both application specific concepts and data by XML documents to provide interoperability between reengineering related data.
JTL: the Java tools language
Tal Cohen,Joseph Gil,Itay Maman +2 more
- 16 Oct 2006
TL;DR: An overview of JTL (the Java Tools Language, pronounced "Gee-tel"), a novel language for querying JAVA programs, is presented, which relies on a DATALOG-like syntax and semantics, enriched with quantifiers and pattern matching which all but entirely eliminate the need for recursive calls.
Patent
Semantic-based query techniques for source code
Nagaraja Nanjegowda Siddaramappa,Renuka Sindhgatta,Santonu Sarkar,Srinivas Thonse,Krishnakumar Pooloth +4 more
- 23 Aug 2006
TL;DR: In this paper, a set of features can assist software developers in searching source code, including user interface features assisting in navigation to a location within the source code associated with the query results.
64
References
A relational model of data for large shared data banks
TL;DR: In this article, a model based on n-ary relations, a normal form for data base relations, and the concept of a universal data sublanguage are introduced, and certain operations on relations are discussed and applied to the problems of redundancy and consistency in the user's model.
A Relational Model of Data Large Shared Data Banks
E. F. Codd
- 01 Jan 1970
TL;DR: In this paper, a model based on n-ary relations, a normal form for data base relations, and the concept of a universal data sublanguage are introduced, and certain operations on relations are discussed and applied to the problems of redundancy and consistency in the user's model.
Program Slicing
TL;DR: Program slicing as mentioned in this paper is a method for automatically decomposing programs by analyzing their data flow and control flow. But it is not a technique for finding statement-minimal slices, as it is in general unsolvable, but using data flow analysis is sufficient to find approximate slices.
3.3K
•Journal Article
A relational model of data for large shared data banks. 1970
TL;DR: A model based on n-ary relations, a normal form for data base relations, and the concept of a universal data sublanguage are introduced and certain operations on relations are discussed and applied to the problems of redundancy and consistency in the user's model.
3.3K
Program slicing
Keith Gallagher,David Binkley +1 more
- 01 Sep 2008
TL;DR: Applications of program slicing are surveyed, ranging from its first use as a debugging technique to current applications in property verification using finite state models, and a summary of research challenges for the slicing community is discussed.
2.8K
Related Papers (5)
Roger F. Crew
- 15 Oct 1997
Mark A. Linton
- 25 Apr 1984
Elnar Hajiyev,Mathieu Verbaere,Oege de Moor +2 more
- 03 Jul 2006
Pierre Genevès,Nabil Layaïda +1 more
- 01 May 2010