Borba, P., Sampaio, A., Cavalcanti, A. et al. (1 more author) (2004) Algebraic reasoning for object-oriented programming. Science of Computer Programming, 52 (1-3). pp. 53-100. ISSN 0167-6423
Abstract
We present algebraic laws for a language similar to a subset of sequential Java that includes inheritance, recursive classes, dynamic binding, access control, type tests and casts, assignment, but no sharing. These laws are proved sound with respect to a weakest precondition semantics. We also show that they are complete in the sense that they are sufficient to reduce an arbitrary program to a normal form substantially close to an imperative program; the remaining object-oriented constructs could be further eliminated if our language had recursive records. This suggests that our laws are expressive enough to formally derive behaviour preserving program transformations; we illustrate that through the derivation of provably-correct refactorings.
Metadata
| Item Type: | Article |
|---|---|
| Authors/Creators: |
|
| Dates: |
|
| Institution: | The University of York |
| Academic Units: | The University of York > Faculty of Sciences (York) > Computer Science (York) |
| Depositing User: | York RAE Import |
| Date Deposited: | 12 Feb 2009 17:04 |
| Last Modified: | 12 Feb 2009 17:04 |
| Published Version: | http://dx.doi.org/10.1016/j.scico.2004.03.003 |
| Status: | Published |
| Publisher: | Elsevier Science B.V., Amsterdam |
| Identification Number: | 10.1016/j.scico.2004.03.003 |
| Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:7480 |
CORE (COnnecting REpositories)
CORE (COnnecting REpositories)