ePrints.FRI - University of Ljubljana, Faculty of Computer and Information Science

Verifying correctness of programs with dependent types in Idris programming language

Blaž Repas (2014) Verifying correctness of programs with dependent types in Idris programming language. EngD thesis.

[img]
Preview
PDF
Download (419Kb)

    Abstract

    Formal verification of program correctness in mission critical applications is still done manually. Programming languages with dependent types used as logical frameworks present an alternative to manual verification of correctness. In this thesis we deal with type systems and programming languages with dependent types. We introduce the Idris programming language which supports arbitrarily complex dependent types. We show how to translate propositions into function types and how to prove them by implementing the functions. Correctness is then automatically verified by the compiler. With use of dependent types we provide automatically verified implementations of data structures like list, stack and queue. To demonstrate usefulness of dependent types we provide automatically verified implementation of insertion sort algorithm. We prove sortedness with linear order of natural numbers and also that the output list is a permutation of the input list.

    Item Type: Thesis (EngD thesis)
    Keywords: dependent types, program correctness, Idris programming language
    Number of Pages: 77
    Language of Content: Slovenian
    Mentor / Comentors:
    Name and SurnameIDFunction
    doc. dr. Jurij Mihelič305Mentor
    Link to COBISS: http://www.cobiss.si/scripts/cobiss?command=search&base=51012&select=(ID=1536094403)
    Institution: University of Ljubljana
    Department: Faculty of Computer and Information Science
    Item ID: 2665
    Date Deposited: 12 Sep 2014 10:28
    Last Modified: 05 Dec 2014 12:58
    URI: http://eprints.fri.uni-lj.si/id/eprint/2665

    Actions (login required)

    View Item