A system, method and computer program product for annotating a computer
program. The method includes applying a program checking tool to the
computer program to produce one or more warnings, mapping one of the
warnings into an annotation modification, and modifying the computer
program in accordance with the annotation modification. These steps are
repeated until the program checking tool produces no warnings that are
suitable for mapping into an annotation modification. The resulting
modified computer program is then provided to a user for use or further
development.