ABSTRACT
We propose a new paradigm to query information about programs, namely query by outlines. This paradigm relies on an outlining model that conceptually describe units of code according to the computations they perform. Outlines are automatically constructed by our system PRISME for C and Lisp programs. Currently, both our model and our system are restricted to loops.QBO is a prototype tool that implements the query by outline paradigm. It proposes to browse the loops of a program directly through their outline, and allows to restrict these loops to browse with queries expressed as constraints on the outlines. Thus it enables to answer questions such as "where is this variable modified?", "where is this kind of computation performed?", or "are there many places where this computation is performed?".In this paper, we sketch our outlining model, introduce QBO and argue that query by outline is a helpful paradigm to manage programs.
- 1.H. Abelson and G.J. Sussman. Structure and Znterpretation of Computer Programs. The MIT Press, Cambridge (MA), 1985 . Google ScholarDigital Library
- 2.F. Balmas. PRISMS: Formalizing programming strategies as a way to understand programs. In Proceedings of the 8th Znt. Conference on Software Engineering and Knowledge Engineering, Lake Tahoe (NV), 1996.Google Scholar
- 3.F. Balmas. Outlining C loops: Preliminary results and trends. In Proceedings of the 5th Working Conference on Reverse Engineering, Honolulu (Hawaii), 1998. Google ScholarDigital Library
- 4.F. Balmas. Toward a framework based on schemas to support programming activities. Submitted to Journal of Symbolic Computations, Special Issue on Schemas, 1998.Google Scholar
- 5.T. J. Biggerstaff. Design recovery for maintenance and reuse. Computer, July 1989. Google ScholarDigital Library
- 6.A. Bowles, D. Robertson, W. Vasconcelos, M. Vargas- Vera, and D. Bental. Applying Prolog programming techniques. Znt. J. on Human-Computer Studies, 41(3), 1994. Google ScholarDigital Library
- 7.R.F. Crew. ASTLGG: A language for examining abstract syntax trees. In Proceedings of the Conference on Domain-Specijk Languages, Berkeley (CA), 1997. Google ScholarDigital Library
- 8.PT. Devanbu. GENOA - a customizable, front-end retargetable source code analysis framework. ACM Transactions on Sojbvare Engineering and Methodology, to appear in 1999. Google ScholarDigital Library
- 9.K. Ehrlich and E. Soloway. An empirical investigation of the tacit plan knowledge in programming. Research Report 236, Yale University, New Haven (CT), 1982.Google Scholar
- 10.R.C. Holt. Structural manipulations of software architecture using Tarski relational algebra. In Proceedings of the 5th Working Conference on Reverse Engineering, Honolulu (Hawaii), 1998. Google ScholarDigital Library
- 11.B. Kullbach et al. Program comprehension in multilanguage systems. In Proceedings of the 5th Working Conference on Reverse Engineering, Honolulu (Hawaii), 1998. Google ScholarDigital Library
- 12.ftp://ftp.cs.princeton.edu/public/lcc/*.Google Scholar
- 13.A. Mendelzon and J. Sametinger. Reverse engineering by visualizing and querying. Software - Concepts and Tools, 160(4), 1995.Google Scholar
- 14.ftp://ieee.com/pub/fil/metre.tar.gz.Google Scholar
- 15.S. Paul and A. P&ash. Supporting queries on source code: A formal framework. Znt. J. of Software Engineering and Knowledge Engineering, 4(3), September 1994.Google Scholar
- 16.J. Schumann and B. Fischer. NO-: Making deduction-based software component retrieval practical. In Proceedings of the Znt. Cons on Automated Software Engineering, Lake Tahoe (NV), 1997. Google ScholarDigital Library
- 17.P. G. Selfridge and G. T. Heineman. Graphical support for codelevel software understanding. In Proceedings of the 9th Knowledge-Based Software Engineering Conference, Monterey (CA), 1994.Google ScholarDigital Library
- 18.E. Soloway and K. Ehrlich. Empirical studies of programming knowledge. IEEE Transactions on Sojbvare Engineering, SE-10(5), September 1984.Google Scholar
- 19.Stanford Compiler Group. The SUIF library. Technical report, Stanford University, Palo Alto (CA), 1994.Google Scholar
- 20.M.A.D. Storey and H.A. Mtiller. Manipulating and documenting software structures. In Software l4suulization. World Scientific Publishing Co., 1996.Google Scholar
- 21.R.C. Waters. A method for analysing loop programs. IEEE Tmnsactions on Sojiware Engineering, SE-5(3), May 1979.Google Scholar
- 22.C.A. Welty. Augmenting abstract syntax trees for program understanding. In Proceedings of the Znt. ConjI on Automated Software Engineering, Incline Village (NV), 1997. Google ScholarDigital Library
- 23.M. Whitney et al. Using an integrated toolset for program understanding. In Proceedings of the CAS Conference, Toronto (Gntario, Canada), 1995. Google ScholarDigital Library
Index Terms
- Query by outlines: a new paradigm to help manage programs
Recommendations
Query by outlines: a new paradigm to help manage programs
We propose a new paradigm to query information about programs, namely query by outlines. This paradigm relies on an outlining model that conceptually describe units of code according to the computations they perform. Outlines are automatically ...
View-based query containment
PODS '03: Proceedings of the twenty-second ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systemsQuery containment is the problem of checking whether for all databases the answer to a query is a subset of the answer to a second query. In several data management tasks, such as data integration, mobile computing, etc., the data of interest are only ...
Query Folding
ICDE '96: Proceedings of the Twelfth International Conference on Data EngineeringQuery folding refers to the activity of determining if and how a query can be answered using a given set of resources, which might be materialized views, cached results of previous queries, or queries answerable by other databases. We investigate query ...
Comments