Dynamic Patch Generation for Null Pointer Exceptions Using Metaprogramming

Thomas Durieux 1 Benoit Cornu 1 Lionel Seinturier 1, 2 Martin Monperrus 1, 2
1 SPIRALS - Self-adaptation for distributed services and large software systems
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189
Abstract : Null pointer exceptions (NPE) are the number one cause of uncaught crashing exceptions in production. In this paper, we aim at exploring the search space of possible patches for null pointer exceptions with metaprogramming. Our idea is to transform the program under repair with automated code transformation, so as to obtain a metaprogram. This metaprogram contains automatically injected hooks, that can be activated to emulate a null pointer exception patch. This enables us to perform a fine-grain analysis of the runtime context of null pointer exceptions. We set up an experiment with 16 real null pointer exceptions that have happened in the field. We compare the effectiveness of our metaprogramming approach against simple templates for repairing null pointer exceptions.
Type de document :
Communication dans un congrès
IEEE International Conference on Software Analysis, Evolution and Reengineering, Feb 2017, Klagenfurt, Austria. pp.349-358, <10.1109/SANER.2017.7884635>
Liste complète des métadonnées


https://hal.archives-ouvertes.fr/hal-01419861
Contributeur : Thomas Durieux <>
Soumis le : mardi 20 décembre 2016 - 08:41:43
Dernière modification le : jeudi 17 août 2017 - 22:56:52
Document(s) archivé(s) le : lundi 20 mars 2017 - 22:01:40

Fichier

main.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Citation

Thomas Durieux, Benoit Cornu, Lionel Seinturier, Martin Monperrus. Dynamic Patch Generation for Null Pointer Exceptions Using Metaprogramming. IEEE International Conference on Software Analysis, Evolution and Reengineering, Feb 2017, Klagenfurt, Austria. pp.349-358, <10.1109/SANER.2017.7884635>. <hal-01419861>

Partager

Métriques

Consultations de
la notice

277

Téléchargements du document

451