Software reliability depends on program correctness and robustness and these are extremely important in developing high-quality software. Correctness is also essential when considering aspects of software security. However, experience applying these concepts, associated methods, and supporting software with Eiffel and Java have shown that students find some diffculty learning program correctness and in learning the software tools provided. We have developed an experimental language, OOSimL, that includes an assertion notation similar to that of Eiffel but which has much more flexibility, and that provides the same semantics as Java.
The first part of this paper provides an overview of concepts and methods on software reliability then briefly describes our experience in teaching these. The second part introduces the Design by Contract (DBC) using the OOSimL programming language, which we recently developed.
Journal of Computing Sciences in Colleges
Digital Object Identifier (DOI)