Skip to main content

PQL: A language for specifying abstract program views

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 989))

Abstract

A program query language, PQL for short, described in this paper is a source language-independent notation to specify program queries and program views. We use PQL as an interface to Static Program Analyzers (SPA), interactive tools that enhance program understanding by answering queries about programs. In PQL, we can query on global program design as well as search for detail code patterns. Program queries and patterns supported by other notations described in literature and those supported by commercial tools known to the author, can be written simply and naturally in PQL. Program modeling and PQL notations described in the paper form a basis for an SPA generation system. These notations also allow us to rigorously study tool capabilities in the context of underlying software maintenance process and programmer's behavior models.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Burson, S., Kotik, G. and Markosian, L. “A Program Transformation Approach to Automating Software Re-enginering,” Proc. COMPSAC'90, pp. 314–322

    Google Scholar 

  2. Chan, H. C. “An Entity-Relationship Enhanced Logic System,” Proc. Second Int. Symp. on Database Systems for Advanced Applications, Tokyo, 1991, pp. 401–410

    Google Scholar 

  3. Chen, P. “The Entity-Relationship Model — Toward a Unified View of Data,” ACM Transactions on Database Systems, 1, 1 (1976), 9–36

    Article  Google Scholar 

  4. Chen, Y., Nishimito, M. and Ramamoorthy, C. “C Information Abstraction System,” IEEE Transactions on Software Engineering, vol. 16, no. 3, March 1990, pp. 325–334

    Article  Google Scholar 

  5. Date, C. and Darwen, H. A Guide to the SQL Standard, Addison-Wesley, 1993

    Google Scholar 

  6. Devanbu, P. Brachman, R.J., Selfridge, P.G. and Ballard, B.W. “LaSSIE: A Knowledge-Based Software Information System,” CACM, vol. 34, No. 5, May 1991, pp. 34–49

    Google Scholar 

  7. Devanbu, P. “GENOA — A Customizable, Language-and Front-end independent Code Analyzer,” P roc. 14th Int. Conf. on Software Engineering, 1992, pp. 307–319

    Google Scholar 

  8. Horwitz, S., and Teitelbaum, T. “Relations and Attributes: A Symbiotic Basis for Editing Environments,” Proc. ACM SIGPLAN 85 Symposium on Language Issues in Programming Environments, Seattle, June 1985, pp. 93–106

    Google Scholar 

  9. Jarzabek, S. “Specifying and Generating Multilanguage Software Development Environments,” Software Engineering Journal, vol. 5, no. 2, March 1990, pp. 125–137

    Article  Google Scholar 

  10. Jarzabek, S. “Systematic Design of Static Program Analyzers,” 18th Computer Software and Applications Conference, COMPSAC'94, Taipei, November 1994, pp. 281–286

    Google Scholar 

  11. Jarzabek, S., Shen, H. and Chan, H.C. “A hybrid Program Knowledge Base system for Static Program Analyzers,” Proc. Asia Pacific Software Engineering Conference, APSEC'94, Tokyo, December 1994, pp. 400–409

    Google Scholar 

  12. Jarzabek, S. and Tan, P. K. “Design of a generic reverse engineering assistant tool,” accepted for 2nd Working Conference on Reverse Engineering, WCRE, Toronto, Canada, July 14–16, 1995

    Google Scholar 

  13. Kozaczynski, W., Ning, J. and Engberts, A. “Program Concept Recognition and Transformation,” IEEE Transactions on Software Engineering, vol. 18, no. 12, December 1992, pp. 1065–1075

    Article  Google Scholar 

  14. Linton, M.A. “Implementing Relational Views of Programs,” Proc. ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Pittsburgh, April 1984, pp. 65–72

    Google Scholar 

  15. Ottenstein, K. and Ottenstein, L. “The Program Dependence Graph in a Software Development Environemnt,” Proc. ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Pittsburgh, April 1984, pp. 177–184

    Google Scholar 

  16. Paul, S. and Prakash, A. “A Framework for Source Code Search Using Program Patterns,” IEEE Transactions on Software Engineering, vol. 20, no. 6, June 1994, pp. 463–474

    Article  Google Scholar 

  17. Reps, T.W., and Teitelbaum, T. “The Synthesizer Generator,” Proc. ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Pittsburgh, April 1984, pp. 42–48

    Google Scholar 

  18. Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W. Object-Oriented Modeling and Design, Prentice-Hall, 1991

    Google Scholar 

  19. Seet, C. “Analysing and Reverse Engineering COBOL Programs,” Proc. Sigapore Computer Society Silver Jubilee Conference on Software Enginering, Singapore, October 1992, pp. 175–188

    Google Scholar 

  20. Stonebraker, M., Kreps, P. and Held, G. “The Design and Implementation of INGRES,” ACM Transactions on Database Systems 1 (3), 1976

    Google Scholar 

  21. VIA/CENTER, VIASOFT

    Google Scholar 

  22. Weiser M. “Program slicing,” IEEE Transactions on Software Engineering, vol. 10, no. 4, July 1984, pp. 352–357

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Wilhelm Schäfer Pere Botella

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jarzabek, S. (1995). PQL: A language for specifying abstract program views. In: Schäfer, W., Botella, P. (eds) Software Engineering — ESEC '95. ESEC 1995. Lecture Notes in Computer Science, vol 989. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60406-5_23

Download citation

  • DOI: https://doi.org/10.1007/3-540-60406-5_23

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60406-8

  • Online ISBN: 978-3-540-45552-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics