[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article
Free access

Query by outlines: a new paradigm to help manage programs

Published: 01 September 1999 Publication History

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.

References

[1]
H. Abelson and G.J. Sussman. Structure and Znterpretation of Computer Programs. The MIT Press, Cambridge (MA), 1985 .
[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.
[3]
F. Balmas. Outlining C loops: Preliminary results and trends. In Proceedings of the 5th Working Conference on Reverse Engineering, Honolulu (Hawaii), 1998.
[4]
F. Balmas. Toward a framework based on schemas to support programming activities. Submitted to Journal of Symbolic Computations, Special Issue on Schemas, 1998.
[5]
T. J. Biggerstaff. Design recovery for maintenance and reuse. Computer, July 1989.
[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.
[7]
R.F. Crew. ASTLGG: A language for examining abstract syntax trees. In Proceedings of the Conference on Domain-Specijk Languages, Berkeley (CA), 1997.
[8]
PT. Devanbu. GENOA - a customizable, front-end retargetable source code analysis framework. ACM Transactions on Sojbvare Engineering and Methodology, to appear in 1999.
[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.
[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.
[11]
B. Kullbach et al. Program comprehension in multilanguage systems. In Proceedings of the 5th Working Conference on Reverse Engineering, Honolulu (Hawaii), 1998.
[12]
ftp://ftp.cs.princeton.edu/public/lcc/*.
[13]
A. Mendelzon and J. Sametinger. Reverse engineering by visualizing and querying. Software - Concepts and Tools, 160(4), 1995.
[14]
ftp://ieee.com/pub/fil/metre.tar.gz.
[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.
[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.
[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.
[18]
E. Soloway and K. Ehrlich. Empirical studies of programming knowledge. IEEE Transactions on Sojbvare Engineering, SE-10(5), September 1984.
[19]
Stanford Compiler Group. The SUIF library. Technical report, Stanford University, Palo Alto (CA), 1994.
[20]
M.A.D. Storey and H.A. Mtiller. Manipulating and documenting software structures. In Software l4suulization. World Scientific Publishing Co., 1996.
[21]
R.C. Waters. A method for analysing loop programs. IEEE Tmnsactions on Sojiware Engineering, SE-5(3), May 1979.
[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.
[23]
M. Whitney et al. Using an integrated toolset for program understanding. In Proceedings of the CAS Conference, Toronto (Gntario, Canada), 1995.

Cited By

View all
  • (2010)An Abstraction-Oriented, Path-Based Approach for Analyzing Object Equality in JavaProceedings of the 2010 17th Working Conference on Reverse Engineering10.1109/WCRE.2010.30(205-214)Online publication date: 13-Oct-2010
  • (1999)QBO: a query tool specially developed to explore programsSixth Working Conference on Reverse Engineering (Cat. No.PR00303)10.1109/WCRE.1999.806966(270-279)Online publication date: 1999

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 24, Issue 5
Sept. 1999
109 pages
ISSN:0163-5948
DOI:10.1145/381788
Issue’s Table of Contents
  • cover image ACM Conferences
    PASTE '99: Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
    September 1999
    109 pages
    ISBN:1581131372
    DOI:10.1145/316158
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 1999
Published in SIGSOFT Volume 24, Issue 5

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)45
  • Downloads (Last 6 weeks)6
Reflects downloads up to 20 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2010)An Abstraction-Oriented, Path-Based Approach for Analyzing Object Equality in JavaProceedings of the 2010 17th Working Conference on Reverse Engineering10.1109/WCRE.2010.30(205-214)Online publication date: 13-Oct-2010
  • (1999)QBO: a query tool specially developed to explore programsSixth Working Conference on Reverse Engineering (Cat. No.PR00303)10.1109/WCRE.1999.806966(270-279)Online publication date: 1999

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media