
TL;DR
This paper introduces type-safe extensible programming using MLPolyR, a functional language with advanced type mechanisms, to facilitate reliable software evolution and product line engineering.
Contribution
It presents a novel approach to extensible programming with type safety, leveraging MLPolyR's type system to manage software evolution effectively.
Findings
MLPolyR enables safe extension of software components.
Extensibility mechanisms support product line engineering.
Type safety prevents errors during software extension.
Abstract
Software products evolve over time. Sometimes they evolve by adding new features, and sometimes by either fixing bugs or replacing outdated implementations with new ones. When software engineers fail to anticipate such evolution during development, they will eventually be forced to re-architect or re-build from scratch. Therefore, it has been common practice to prepare for changes so that software products are extensible over their lifetimes. However, making software extensible is challenging because it is difficult to anticipate successive changes and to provide adequate abstraction mechanisms over potential changes. Such extensibility mechanisms, furthermore, should not compromise any existing functionality during extension. Software engineers would benefit from a tool that provides a way to add extensions in a reliable way. It is natural to expect programming languages to serve this…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Logic, programming, and type systems · Service-Oriented Architecture and Web Services
