Swan, Jerry, Johnson, Colin G., Brady, Edwin C. (2018) Subtype polymorphism à la carte via machine learning on dependent types. In: ISSTA/ECOOP 2018 Workshops. . pp. 14-16. ACM, New York, NY, USA ISBN 978-1-4503-5939-9. (doi:10.1145/3236454.3236469) (KAR id:73791)
PDF
Author's Accepted Manuscript
Language: English |
|
Download this file (PDF/407kB) |
|
Request a format suitable for use with assistive technology e.g. a screenreader | |
PDF
Publisher pdf
Language: English Restricted to Repository staff only |
|
Contact us about this Publication
|
|
Official URL: https://doi.org/10.1145/3236454.3236469 |
Abstract
The essential rationale for subtype polymorphism is adherence to the 'Open/Closed Principle' [12]: the ability to write framework code in terms of superclasses and subsequently invoke it with any subclass that exhibits 'proper subtyping' via the Liskov Substitution Principle (LSP) [11]. Formally, the LSP states that if ø(t : T) is a provable property of objects t of type T, then ø(s) should be true for objects s of subtype S of T. In practice, such properties have typically been those expressible via 'Design by Contract' [12], specifically preconditions, postconditions and invariants. Such abstraction via subtype polymorphism is intended to insulate against requirements change. However, when new requirements do necessitate a change of contract, the maintenance consequences can be severe. In the (typical) absence of explicit language or tool support, enforcement of proper subtyping is laborious and error-prone: contractual changes typically require manual inspection/repair of the class hierarchy to determine/address violations of the LSP.
Item Type: | Conference or workshop item (Paper) |
---|---|
DOI/Identification number: | 10.1145/3236454.3236469 |
Divisions: | Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing |
Depositing User: | Colin Johnson |
Date Deposited: | 08 May 2019 09:32 UTC |
Last Modified: | 05 Nov 2024 12:36 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/73791 (The current URI for this page, for reference purposes) |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):