• Title of article

    Algebraic reasoning for object-oriented programming

  • Author/Authors

    Paulo Borba، نويسنده , , Augusto Sampaio، نويسنده , , Ana Cavalcanti، نويسنده , , Marcio Cornelio، نويسنده ,

  • Issue Information
    دوهفته نامه با شماره پیاپی سال 2004
  • Pages
    48
  • From page
    53
  • To page
    100
  • 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.
  • Journal title
    Science of Computer Programming
  • Serial Year
    2004
  • Journal title
    Science of Computer Programming
  • Record number

    1079722