Closer to Reliable Software: Verifying Functional Behaviour of Concurrent Programs

Marina Zaharieva Stojanovski

    Research output: ThesisPhD Thesis - Research UT, graduation UT

    356 Downloads (Pure)

    Abstract

    If software code is developed by humans, can we as users rely on its absolute correctness?Today's software is large, complex, and prone to errors. Although many bugs are found in the process of testing, we can never claim that the delivered software is bug-free. Errors still occur when software is in use; and errors exist that will perhaps never occur. Reaching an absolute zero bug state for usable software is practically impossible.On the other side we have mathematical logic, a very powerful machinery for reasoning and drawing conclusions based on facts. The power of mathematical logic is certainty: when a given statement is mathematically proven, it is indeed absolutely correct.When a technique for verifying software is based on logic, it allows one to mathematically prove properties about the program. These so-called formal verification techniques are very challenging to develop, but what they promise is highly valuable, and so, they certainly deserve close research attention. This thesis shows the benefits and drawbacks of this style of reasoning, and proposes novel techniques that respond to some important verification challenges.Still, mathematical logic is theory, and software is practice. Thus, formal verification can not guarantee absolute correctness of software, but it certainly has the potential to move us much closer to reliable software.
    Original languageEnglish
    QualificationDoctor of Philosophy
    Awarding Institution
    • University of Twente
    Supervisors/Advisors
    • Huisman, Marieke, Supervisor
    Thesis sponsors
    Award date1 Oct 2015
    Place of PublicationEnschede
    Publisher
    Print ISBNs978-90-365-3924-1
    DOIs
    Publication statusPublished - 1 Oct 2015

    Fingerprint

    Dive into the research topics of 'Closer to Reliable Software: Verifying Functional Behaviour of Concurrent Programs'. Together they form a unique fingerprint.

    Cite this