• DocumentCode
    2815393
  • Title

    Design by contract for Python

  • Author

    Plösch, Reinhold

  • Author_Institution
    Johannes Kepler Univ., Linz, Austria
  • fYear
    1997
  • fDate
    2-5 Dec 1997
  • Firstpage
    213
  • Lastpage
    219
  • Abstract
    The idea of design by contract (DEC), realized in the statically typed object-oriented programming language Eiffel, can be viewed as a systematic approach to specifying and implementing object-oriented software systems. We believe that a statically typed programming language is not suitable in the analysis and design phase of a prototyping-oriented software life cycle. For this purpose, dynamically typed interpreted programming languages are better suited. Unfortunately, dynamically typed programming languages usually do not support the concept of DEC. Therefore we integrated DEC into the programming language Python by using a metaprogramming approach, i.e., without changing the language or the run-time system. We adopted the DEC concept by adding mechanisms for dynamic type checking for method parameters and instance variables. The proposed combination of a more formal approach with a slim programming language provides a good basis for elicitation and documentation tasks in the analysis and design phase, especially in cases of a prototyping-oriented software development approach. Although the approach presented provides basic tool support for the analysis and design phase, further tool support especially for browsing assertions, is desirable
  • Keywords
    object-oriented languages; object-oriented programming; software prototyping; design by contract; instance variables; object-oriented software systems; prototyping-oriented software life cycle; run-time system; statically typed object-oriented programming language Eiffel; Computer languages; Contracts; Documentation; Laboratories; Object oriented modeling; Object oriented programming; Software engineering; Software prototyping; Software quality; Software systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering Conference, 1997. Asia Pacific ... and International Computer Science Conference 1997. APSEC '97 and ICSC '97. Proceedings
  • Print_ISBN
    0-8186-8271-X
  • Type

    conf

  • DOI
    10.1109/APSEC.1997.640178
  • Filename
    640178