Skip to main content

Model construction, evolution, and use in testing of software systems

Lamela Seijas, Pablo (2017) Model construction, evolution, and use in testing of software systems. Doctor of Philosophy (PhD) thesis, University of Kent,. (KAR id:69474)

Language: English
Download (2MB) Preview
[thumbnail of 261thesis.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format


The ubiquity of software places emphasis on the need for techniques that allow us to ensure that software behaves as we expect it to behave. The most widely-used approach to ensuring software quality is unit testing, but this is arguably not a very efficient solution, since each test only checks that the software behaves as expected in one single scenario.

In this thesis, we study how to make it easier to create models that can be used for testing software. In particular, we research the creation of reusable models, ways of automating the generalisation of code and models, and ways of automating the generation of models from legacy unit tests and execution traces. As a result, we provide techniques for generating tests from state machine models, techniques for inferring parametrised state machines from code, and refactorings that automate the introduction of abstraction for property-based testing models and code in general. All these techniques are illustrated with concrete examples and with open-source implementations that are publicly available.

Item Type: Thesis (Doctor of Philosophy (PhD))
Thesis advisor: Thompson, Simon
Uncontrolled keywords: abstraction behaviour blue-fringe control data design DFA EFSM Erlang erlang-diff EUnit flow FSM generalisation generation inference James JUnit Parameter pattern PBT Property QSM QuickCheck refactoring regular Services template Test Web Wrangler
Subjects: Q Science
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
SWORD Depositor: System Moodle
Depositing User: System Moodle
Date Deposited: 09 Oct 2018 13:33 UTC
Last Modified: 16 Feb 2021 13:58 UTC
Resource URI: (The current URI for this page, for reference purposes)
  • Depositors only (login required):