The definition of Standard ML
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
ACM SIGPLAN Notices - Haskell special issue
ACM Computing Surveys (CSUR)
The revised report on the syntactic theories of sequential control and state
Theoretical Computer Science
The design and implementation of hierarchical software systems with reusable components
ACM Transactions on Software Engineering and Methodology (TOSEM)
On the expressive power of programming languages
ESOP '90 Selected papers from the symposium on 3rd European symposium on programming
On abstraction and the expressive power of programming languages
TACS'91 Selected papers of the conference on Theoretical aspects of computer software
Object-oriented type systems
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Monad transformers and modular interpreters
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Monitoring compliance of a software system with its high-level design models
Proceedings of the 18th international conference on Software engineering
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Software reuse: metrics and models
ACM Computing Surveys (CSUR)
A formal basis for architectural connection
ACM Transactions on Software Engineering and Methodology (TOSEM)
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
GNU EMACS Manual
Software Reuse: Methods, Models and Costs
Software Reuse: Methods, Models and Costs
The Java Language Specification
The Java Language Specification
Status Report: Software Reusability
IEEE Software
Reusing Software: Issues and Research Directions
IEEE Transactions on Software Engineering
Extensible Denotational Language Specifications
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Synthesizing Object-Oriented and Functional Design to Promote Re-Use
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Precise specification and automatic application of design patterns
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
A methodology for interfacing open source systemC with a third party software
Proceedings of the conference on Design, automation and test in Europe
A Mixin-Based, Semantics-Based Approach to Reusing Domain-Specific Programming Languages
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Equational Reasoning for Linking with First-Class Primitive Modules
ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
Static analysis for syntax objects
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
JDA: a step towards large-scale reuse on the web
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Hi-index | 0.00 |
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.