Download PDFOpen PDF in browserTransforming Event B Models into Verified C# Implementations17 pages•Published: July 25, 2013AbstractThe refinement-based approach to developing software is based on thecorrect-by-construction paradigm were software systems are constructed via the step-by-step refinement of an initial high-level specification into a final concrete specification. Proof obligations, generated during this process are discharged to ensure the consistency between refinement levels and hence the system's overall correctness. Here, we are concerned with the refinement of specifications using the Event B modelling language and its associated toolset, the Rodin platform. In particular, we focus on the final steps of the process where the final concrete specification is transformed into an executable algorithm. The transformations involved are (a) the transformation from an Event B specification into a concrete recursive algorithm and (b) the transformation from the recursive algorithm into its equivalent iterative version. We prove both transformations correct and verify the correctness of the final code in a static programme verification environment for C# programs, namely the Spec# programming system. Keyphrases: algorithm, correct by construction, implementation, refinement, transformation, verification In: Alexei Lisitsa and Andrei Nemytykh (editors). VPT 2013. First International Workshop on Verification and Program Transformation, vol 16, pages 57-73.
|