Sections

Skip to content. | Skip to navigation

You are here: Home Research Software Engineering Available Master's topics Automatic Correction of Bugs with Evolutionary Techniques

Automatic Correction of Bugs with Evolutionary Techniques

1-2 short or long theses

Supervisors: Andrea Arcuri and Lionel Briand

 

Background:

Bugs are unfortunately very common in software. Even released programs are then discovered to be faulty. Once a program fails for some inputs, it is necessary to locate and fix the source of the fault, i.e. the bugs need to be removed. Doing it manually can be very difficult, tedious and expensive.  Recent research has focused on the automation of this task. Evolutionary techniques (e.g., genetic programming) can be used to “evolve” the source code to get rid off of the bugs.  Fault localization techniques are used to choose only the most suspicious subset of the source code that will be then subject to evolution.

 

What you will do:

Support researchers on

  1. analysing the literature on fault localization and software repair,
  2. designing and implementing algorithms to support the localization and the automatic repair of software,
  3. evaluating the effectiveness of these algorithms on actual case studies, and
  4. implementing these algorithms in user friendly tools, e.g., plug-ins of well known IDEs.

 

 

 

What you will learn:

You will gain in-depth knowledge of debugging issues and techniques (which are in high demand in industry) and AI algorithms (such as genetic programming), which have widespread applications across many domains.

 

 

 

 

For more information please contact Andrea Arcuri
Personal tools