skip to main content
10.1145/316158.316185acmconferencesArticle/Chapter ViewAbstractPublication PagespasteConference Proceedingsconference-collections
Article
Free Access

Query by outlines: a new paradigm to help manage programs

Published:01 September 1999Publication 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. 1.H. Abelson and G.J. Sussman. Structure and Znterpretation of Computer Programs. The MIT Press, Cambridge (MA), 1985 . Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle Scholar
  3. 3.F. Balmas. Outlining C loops: Preliminary results and trends. In Proceedings of the 5th Working Conference on Reverse Engineering, Honolulu (Hawaii), 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle Scholar
  5. 5.T. J. Biggerstaff. Design recovery for maintenance and reuse. Computer, July 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.B. Kullbach et al. Program comprehension in multilanguage systems. In Proceedings of the 5th Working Conference on Reverse Engineering, Honolulu (Hawaii), 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.ftp://ftp.cs.princeton.edu/public/lcc/*.Google ScholarGoogle Scholar
  13. 13.A. Mendelzon and J. Sametinger. Reverse engineering by visualizing and querying. Software - Concepts and Tools, 160(4), 1995.Google ScholarGoogle Scholar
  14. 14.ftp://ieee.com/pub/fil/metre.tar.gz.Google ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.E. Soloway and K. Ehrlich. Empirical studies of programming knowledge. IEEE Transactions on Sojbvare Engineering, SE-10(5), September 1984.Google ScholarGoogle Scholar
  19. 19.Stanford Compiler Group. The SUIF library. Technical report, Stanford University, Palo Alto (CA), 1994.Google ScholarGoogle Scholar
  20. 20.M.A.D. Storey and H.A. Mtiller. Manipulating and documenting software structures. In Software l4suulization. World Scientific Publishing Co., 1996.Google ScholarGoogle Scholar
  21. 21.R.C. Waters. A method for analysing loop programs. IEEE Tmnsactions on Sojiware Engineering, SE-5(3), May 1979.Google ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.M. Whitney et al. Using an integrated toolset for program understanding. In Proceedings of the CAS Conference, Toronto (Gntario, Canada), 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Query by outlines: a new paradigm to help manage programs

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        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

        Copyright © 1999 ACM

        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: 1 September 1999

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        PASTE '99 Paper Acceptance Rate8of31submissions,26%Overall Acceptance Rate57of159submissions,36%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader