Sponsor
This work was partially supported by the National Science Foundation of the United States under awards CCF-0313401 and CCCF-0520346.
Published In
Proceedings of the 2006 Conference on Pattern Languages of Programs
Document Type
Conference Proceeding
Publication Date
10-2006
Subjects
Computer software -- Development, Object-oriented programming (Computer science), Smalltalk (Computer program language), Programming languages (Electronic computers)
Abstract
For the last 15 years, implementors of multiple view programming environments have sought a single code model that would form a suitable basis for all of the program analyses and tools that might be applied to the code. They have been unsuccessful. The consequences are a tendency to build monolithic, single-purpose tools, each of which implements its own specialized analyses and optimized representation. This restricts the availability of the analyses, and also limits the reusability of the representation by other tools. Unintegrated tools also produce inconsistent views, which reduce the value of multiple views. This article describes a set of architectural patterns that allow a single, minimal representation of program code to be extended as required to support new tools and program analyses, while still maintaining a simple and uniform interface to program properties. The patterns address efficiency, correctness and the integration of multiple analyses and tools in a modular fashion.
DOI
10.1145/1415472.1415490
Persistent Identifier
http://archives.pdx.edu/ds/psu/11914
Citation Details
Vainsencher, Daniel, and Andrew P. Black. "A pattern language for extensible program representation." Proceedings of the 2006 conference on Pattern languages of programs. ACM, 2006.
Description
© ACM, (2006). This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 2006 Conference on Pattern Languages of Program, (2006) http://doi.acm.org/10.1145/1415472.1415490