Toward a Formal Theory of Extensible Software (1998)
| Venue: | In SIGSOFT ’98/FSE-6: Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering |
| Citations: | 7 - 1 self |
BibTeX
@INPROCEEDINGS{Krishnamurthi98towarda,
author = {Shriram Krishnamurthi and Matthias Felleisen},
title = {Toward a Formal Theory of Extensible Software},
booktitle = {In SIGSOFT ’98/FSE-6: Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering},
year = {1998},
pages = {88--98},
publisher = {ACM Press}
}
OpenURL
Abstract
As software projects continue to grow in scale and scope, it becomes important to reuse software. An important kind of reuse is extensibility, i.e., the extension of software without accessing existing code to edit or copy it. In this paper, we propose a rigorous, semantics-based definition of software extensibility. Then we illustrate the utility of our definitions by applying them to several programs. The examination shows how programming style affects extensibility and also drives the creation of a variant of an existing design pattern. We consider programs in both object-oriented and functional languages to prove the robustness of our definitions. 1 Introduction As software projects have continued to grow in scale and scope, it has become increasingly important to reuse program components. Reuse lowers software development costs by reducing development time, decreasing the number of errors, and increasing the consistency of software systems. In short, there are compelling reasons...







