Please use this identifier to cite or link to this item: https://research.matf.bg.ac.rs/handle/123456789/2551
Title: Using Small-Step Refinement For Algorithm - Verification In Computer Science Education
Authors: Simić, Danijela 
Affiliations: Informatics and Computer Science 
Issue Date: 2014
Rank: M33
Publisher: Coimbra : CEUR
Related Publication(s): The 3rd International Workshop on Theorem proving components in Educational Software : Proceedings
Conference: International Workshop on Theorem proving components in Educational Software ThEdu (3 ; 2014 ; Coimbra)
Abstract: 
Stepwise program refinement techniques can be used to simplify program verification. Programs are better understood since their main properties are clearly stated, and verification of rather complex algorithms is reduced to proving simple statements connecting successive program specifications. Additionally, it is easy to analyze similar algorithms and to compare their properties within a single formalization. Usually, formal analysis is not done in an educational setting due to complexity of verification and a lack of tools and procedures to make comparison easy. Verification of an algorithm should not only give a correctness proof, but also better understanding of an algorithm. If the verification is based on small step program refinement, it can become simple enough to be demonstrated within the university-level computer science curriculum. In this paper we demonstrate this and give a formal analysis of two well known algorithms (Selection Sort and Heap Sort) using the proof assistant Isabelle/HOL and program refinement techniques.
URI: https://research.matf.bg.ac.rs/handle/123456789/2551
Appears in Collections:Research outputs

Show full item record

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.