A pattern language for extensible program representation (2006)
| Venue: | In Proceedings of PLoP 2006 |
| Citations: | 5 - 0 self |
BibTeX
@INPROCEEDINGS{Vainsencher06apattern,
author = {Daniel Vainsencher and Andrew P. Black},
title = {A pattern language for extensible program representation},
booktitle = {In Proceedings of PLoP 2006},
year = {2006}
}
OpenURL
Abstract
We are aware that this paper is too long to be considered in its entirety in a writers ’ workshop. We suggest that the workshop focus on the first 20 pages (up to the end of section 3.2) since this part is the most polished. This unfortunately omits Section 3.3, starting on 21, which in some ways is the heart of the paper. General feedback on the rest of section 3 would be welcome, but significant changes are already planned. 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 views 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 and optimized representation. This limits the usefulness of the analyses embedded in those representations, and also limits their reusability by other tool builders. Unintegrated tools also produce inconsistent views, which reduce the value of multiple views. This paper describes an architecture that allows 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. We present architectural patterns that address efficiency, correctness and the integration of multiple analyses and tools in a modular fashion. 1 1







