An industrial-strength method for the construction of formally verified software
Peter Lindsay, David Hemer · 2002
The CARE method is a new approach to constructing and formally verifying programs. CARE has been developed in response to identified industrial needs for a formal software development method which does not require the user to be an expert in formal proof. Software engineers use CARE to develop compilable code from formal program specifications using a library of pre-proven, formally specified refinements. Tools help users build products by selecting and instantiating refinements to fit the problem at hand, and generating and discharging correctness-of-fit proof obligations. The paper introduces CARE's integrated notation for algorithm specification and development, and explains how correctness is checked. The method is illustrated on a small development.