Analysis of Fault Patterns in Software to Design Better Testing Techniques
1-2 short or long theses
Supervisors: Andrea Arcuri and Lionel Briand
Background:
Several testing techniques exist. The simplest technique is Random Testing (RT), in which test cases
are simply chosen at random. Surprisingly, RT is a very effective technique in practice. Several
empirical and theoretical analyses show that its effectiveness is comparable and sometimes even
better than more sophisticated testing techniques. Improvements over RT have been proposed, in
particular Adaptive Random Testing (ART). These improvements exploit assumptions on the locations
of the faults. For example, often the failing test cases tend to cluster in continuous regions of
the input domain. ART uses this information to evenly spread the sampled test cases. A better
understanding of the typical "shapes", "sizes" and "positions" of these faulty regions could be exploited to
design novel better testing techniques.
What you will do:
Support researchers on
1. analysing the literature on adaptive random testing,
2. develop techniques/tools to empirically analyse the "shapes" of faulty regions in a large set of software,
3. (optionally) designing and implementing algorithms to improve testing based on assumptions on these shapes,
4. evaluating the effectiveness of random testing (and its improvements) on the analysed case studies.
What you will learn:
You will gain in-depth knowledge of testing issues and techniques (which are in high demand in industry).
