Title :
Generation of Certifiably Correct Programs from Formal Models
Author_Institution :
Newcastle Univ., Newcastle upon Tyne, UK
fDate :
Nov. 29 2011-Dec. 2 2011
Abstract :
Application of formal notations and verifications techniques helps to deliver systems that are free from engineering defects. A code generator is an essential tool for formal development of real-world systems; it transforms models into runnable software quickly, consistently and reproducibly. Commonly, a code generator is a program constructed informally and producing an output that is not formally traced to an input. Industrial standards to the development of safety-critical systems, such as IEC 61508, require a justification for any tool used in a development: extensive prior experience or a formal certification. An extensive experience is often not an option as there are very few sufficiently mature modelling toolsets. The certification of a code generator is a major effort increasing costs and development time. We propose an approach where a modeller places no trust whatsoever in the code generation stage but rather obtains software that is certifiable without any further effort. The essence of the approach is in the transformation of a formal model into runnable software that is demonstratively correct in respect to a given set of verification criteria, coming from a requirements document. A Hoare logic is used to embedd correctness criteria into the resultant program; the approach supports design-by-contract annotations to allow developer to mix formal and informal parts with a fair degree of rigour.
Keywords :
certification; program verification; safety-critical software; Hoare logic; IEC 61508; certifiably correct program generation; code generator; design-by-contract annotations; formal certification; formal models; formal notations techniques; formal verifications techniques; industrial standards; real-world systems; safety-critical systems; software certification; Computational modeling; Computer languages; Generators; Program processors; Safety; Standards; Event-B; certifying code generator; certifying compiler; code generation; formal modelling;
Conference_Titel :
Software Certification (WoSoCER), 2011 First International Workshop on
Conference_Location :
Hiroshima
Print_ISBN :
978-1-4673-0744-4
DOI :
10.1109/WoSoCER.2011.14