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.
Preview
Unable to display preview. Download preview PDF.
References
Burson, S., Kotik, G. and Markosian, L. “A Program Transformation Approach to Automating Software Re-enginering,” Proc. COMPSAC'90, pp. 314–322
Chan, H. C. “An Entity-Relationship Enhanced Logic System,” Proc. Second Int. Symp. on Database Systems for Advanced Applications, Tokyo, 1991, pp. 401–410
Chen, P. “The Entity-Relationship Model — Toward a Unified View of Data,” ACM Transactions on Database Systems, 1, 1 (1976), 9–36
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
Date, C. and Darwen, H. A Guide to the SQL Standard, Addison-Wesley, 1993
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
Devanbu, P. “GENOA — A Customizable, Language-and Front-end independent Code Analyzer,” P roc. 14th Int. Conf. on Software Engineering, 1992, pp. 307–319
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
Jarzabek, S. “Specifying and Generating Multilanguage Software Development Environments,” Software Engineering Journal, vol. 5, no. 2, March 1990, pp. 125–137
Jarzabek, S. “Systematic Design of Static Program Analyzers,” 18th Computer Software and Applications Conference, COMPSAC'94, Taipei, November 1994, pp. 281–286
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
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
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
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
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
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
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
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F. and Lorensen, W. Object-Oriented Modeling and Design, Prentice-Hall, 1991
Seet, C. “Analysing and Reverse Engineering COBOL Programs,” Proc. Sigapore Computer Society Silver Jubilee Conference on Software Enginering, Singapore, October 1992, pp. 175–188
Stonebraker, M., Kreps, P. and Held, G. “The Design and Implementation of INGRES,” ACM Transactions on Database Systems 1 (3), 1976
VIA/CENTER, VIASOFT
Weiser M. “Program slicing,” IEEE Transactions on Software Engineering, vol. 10, no. 4, July 1984, pp. 352–357
Author information
Authors and Affiliations
Editor information
Rights 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