MURAL - Maynooth University Research Archive Library



    Equivalence Partitioning as a Basis for Dynamic Conditional Invariant Detection


    Isaratham, Worakarn (2015) Equivalence Partitioning as a Basis for Dynamic Conditional Invariant Detection. Masters thesis, National University of Ireland Maynooth.

    [img]
    Preview
    Download (763kB) | Preview


    Share your research

    Twitter Facebook LinkedIn GooglePlus Email more...



    Add this article to your Mendeley library


    Abstract

    Program invariants are statements asserting properties of programs at certain points. They can assist developers and testers in understanding the program, and can be used for automated formal verification of the program. However, despite their usefulness they are often omitted from code. Dynamic invariant detection is a technique that discovers program invariants by observing execution of the program. One type of invariants that presents challenge to this technique is conditional invariants, which are considered to be computationally infeasible to be computed exhaustively. We present a new approach to assist conditional invariants detection, by analysing test suites used to drive the execution of the programs for their use of equivalence partitioning – a very common testing technique – and inferring conditional invariants from this information. A prototype implementation, named Yacon, is developed to work in conjunction with a mature dynamic invariant detection tool Daikon. Given a set of splitting conditions, Daikon can use them to infer conditional invariants. Yacon attempts to recover partitioning information from a given test suite, producing splitting conditions as a result. We introduced two strategies to recover partitioning information, one based on the presence of boundary value analysis testing technique; the other based on invariants within the test suite itself. We evaluated the effectiveness of each recovery strategy and the approach as a whole, and found that our approach can help make Daikon perform significantly better. However, the two recovery strategies only work well in limited circumstances, suggesting possible improvement in finding more effective recovery strategies.

    Item Type: Thesis (Masters)
    Additional Information: Taught Masters Thesis for the Erasmus Mundus MSc in Dependable Software Systems
    Keywords: Equivalence Partitioning; Dynamic Conditional Invariant Detection;
    Academic Unit: Faculty of Science and Engineering > Computer Science
    Item ID: 7090
    Depositing User: IR eTheses
    Date Deposited: 27 Apr 2016 11:13
    URI:
      Use Licence: This item is available under a Creative Commons Attribution Non Commercial Share Alike Licence (CC BY-NC-SA). Details of this licence are available here

      Repository Staff Only(login required)

      View Item Item control page

      Downloads

      Downloads per month over past year

      Origin of downloads