Proving assertions is also useful

  title={Proving assertions is also useful},
  author={Jurgen F. H. Winkler and Stefan Kauer},
  journal={ACM SIGPLAN Notices},
a) as dynamic checks: the condition of the assertion is evaluated during program execution. If the value of the condition is false an error is reported. This is then a hint to the programmer to improve the program. This possibility is the topic of [Mar 96] (see e.g. also [Luc 90; Mag 93]). If the value of the condition is true this shows that the assertion is fulfilled for the current set of input data, but only for this specific set. 
ASAP—a simple assertion pre-processor
In this paper, the notion of software contract is introduced, and shown how it is applicable with assertions, and ASAP design and implementation is described.
A Runtime Assertion Checker for the Java Modeling Language (JML)
A runtime assertion checker for the Java Modeling Language (JML) that helps in assigning blame during debugging and in automatic generation of test oracles, which represents a significant advance over the current state of the art.
Runtime Assertion Checking for JML on the Eclipse Platform Using AST Merging
A technique for optimizing compilation speed using a technique known as AST merging with potential performance gain than its predecessor is proposed, which is about about 1.6 times faster than the double-round strategy of jmlc.
Aspect Composition Applying the Design by Contract Principle
It is shown how assertions can be useful in this respect to support the software developer in the composition validation problem evolving in this context.
A safe variant of the unsafe integer arithmetic of Java™
This paper looks at integer arithmetic in Java and develops a safe variant of the arithmetic operations in Java, which reveals a number of deficiencies of Java in integer arithmetic, floating point arithmetic and program structure.
Design and Implementation of the Testing Framework " Tennessee "
Declaration I declare to have written this work independently and without using unmentioned sources. Acknowledgments I wish to thank Prof. Dr. Horst Reichel, my supervisor, for allowing me to write
Improving JML's assignable clause analysis


Effective use of assertions in C++
This paper presents some techniques for maintaining internal consistency in their programs, even if the authors do not use formal specifications.
Programming with Specifications
  • D. Luckham
  • Computer Science
    Texts and Monographs in Computer Science
  • 1990
The plan is to start by experimenting with small extensions of the programming languages the authors have now, and to explore how to use Anna, and where its deficiencies lie.
A note on the for statement
This note discusses methods of defining the for statement in high level languages and suggests a proof rule intended to reflect the proper role of a for statement in computer programming. It
Mathematics and Computer Science: Coping with Finiteness
The distinction between finite and infinite is not as relevant as the distinction between realistic and unrealistic, and in many cases there are subtle ways to solve very large problems quickly, in spite of the fact that they appear at first to require examination of too many possibilities.
The Science of Programming
  • D. Gries
  • Computer Science
    Text and Monographs in Computer Science
  • 1981
Describes basic programming principles and their step-by- step applications and shows how to apply them to real-world problems.
David: Programming with Specifications
  • David: Programming with Specifications
Gri 83 Gries, David: The Science of Programming
    A Discipline of Programming0-13-215871-X GJS 96 Gosling, James; Joy, Bill; Steele, Guy: The Java TM Language Specification
    • A Discipline of Programming0-13-215871-X GJS 96 Gosling, James; Joy, Bill; Steele, Guy: The Java TM Language Specification
    • 1976
    Luc 90 Luckham, David: Programming with Specifications
    • 1990