• DocumentCode
    2859823
  • Title

    Generation of Certifiably Correct Programs from Formal Models

  • Author

    Iliasov, Alexei

  • Author_Institution
    Newcastle Univ., Newcastle upon Tyne, UK
  • fYear
    2011
  • fDate
    Nov. 29 2011-Dec. 2 2011
  • Firstpage
    43
  • Lastpage
    48
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Certification (WoSoCER), 2011 First International Workshop on
  • Conference_Location
    Hiroshima
  • Print_ISBN
    978-1-4673-0744-4
  • Type

    conf

  • DOI
    10.1109/WoSoCER.2011.14
  • Filename
    6118515