Isaratham, Worakarn
(2015)
Equivalence Partitioning as a
Basis for Dynamic Conditional
Invariant Detection.
Masters thesis, National University of Ireland Maynooth.
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)
|
Item control page |
Downloads per month over past year
Origin of downloads