ATTENTION/WARNING - NE PAS DÉPOSER ICI/DO NOT SUBMIT HERE

Ceci est la version de TEST de DIAL.mem. Veuillez ne pas soumettre votre mémoire sur ce site mais bien à l'URL suivante: 'https://thesis.dial.uclouvain.be'.
This is the TEST version of DIAL.mem. Please use the following URL to submit your master thesis: 'https://thesis.dial.uclouvain.be'.
 

Deep learning for software engineering

(2021)

Files

Mulders_24601600_2021.pdf
  • Open access
  • Adobe PDF
  • 1.38 MB

Details

Supervisors
Faculty
Degree label
Abstract
Automated Program Repair (APR) consists in automatically fixing buggy codes. In this research field, some state-of-the-art approaches rely on Deep Learning to perform Sequence to Sequence learning, which aims at designing models mapping sequences from one domain to another, such as from French to English for instance. In particular, the SequenceR technique shows very promising results in terms of the variety of bugs for which it is able to find perfect fixes. In this context, this master’s thesis investigates the limitations and possible improvements of the SequenceR method. More precisely, we mainly focus on trying to find out whether or not this approach might benefit from a richer representation of code, hereby taking into account the structural information held by Abstract Syntax Trees. This line of research is explored by quantifying the impact of adding features alongside the words of source code as input to SequenceR-like models. Our experiments on several datasets suggest that APR performances are hardly affected by augmenting the input data with annotations. Yet, this finding only applies to the specific features studied and does not rule out the utility of such an approach. Finally, our analysis of the SequenceR limitations indicates that the expected fixes of around 50% of a test set of 4711 samples cannot be predicted by the model because it simply cannot generate some of the expected tokens. Therefore, we identify that the main challenge to be tackled by this APR technique is the Out Of Vocabulary problem.