Casper: Automatic Tracking of Null ...
Type de document :
Article dans une revue scientifique: Article original
Titre :
Casper: Automatic Tracking of Null Dereferences to Inception with Causality Traces
Auteur(s) :
Cornu, Benoit [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Barr, Earl [Auteur]
University College of London [London] [UCL]
Seinturier, Lionel [Auteur]
Institut universitaire de France [IUF]
Université de Lille, Sciences et Technologies
Self-adaptation for distributed services and large software systems [SPIRALS]
Monperrus, Martin [Auteur]
Université de Lille, Sciences et Technologies
Self-adaptation for distributed services and large software systems [SPIRALS]
Self-adaptation for distributed services and large software systems [SPIRALS]
Barr, Earl [Auteur]
University College of London [London] [UCL]
Seinturier, Lionel [Auteur]

Institut universitaire de France [IUF]
Université de Lille, Sciences et Technologies
Self-adaptation for distributed services and large software systems [SPIRALS]
Monperrus, Martin [Auteur]
Université de Lille, Sciences et Technologies
Self-adaptation for distributed services and large software systems [SPIRALS]
Titre de la revue :
Journal of Systems and Software
Pagination :
52-62
Éditeur :
Elsevier
Date de publication :
2016
ISSN :
0164-1212
Mot(s)-clé(s) en anglais :
Debugging
Null pointer
Causality analysis
Null pointer
Causality analysis
Discipline(s) HAL :
Informatique [cs]/Génie logiciel [cs.SE]
Résumé en anglais : [en]
Fixing a software error requires understanding its root cause. In this paper, we introduce causality traces, crafted execution traces augmented with the information needed to reconstruct the causal chain from the root cause ...
Lire la suite >Fixing a software error requires understanding its root cause. In this paper, we introduce causality traces, crafted execution traces augmented with the information needed to reconstruct the causal chain from the root cause of a bug to an execution error. We propose an approach and a tool, called Casper, based on code transformation, which dynamically constructs causality traces for null dereference errors. The core idea of Casper is to replace null values with special objects, called “ghosts”, that track the propagation of the nulls from inception to their error-triggering dereference. Causality traces are extracted from these ghosts. We evaluate our contribution by providing and assessing the causality traces of 14 real null dereference bugs collected over six large, popular open-source projects.Lire moins >
Lire la suite >Fixing a software error requires understanding its root cause. In this paper, we introduce causality traces, crafted execution traces augmented with the information needed to reconstruct the causal chain from the root cause of a bug to an execution error. We propose an approach and a tool, called Casper, based on code transformation, which dynamically constructs causality traces for null dereference errors. The core idea of Casper is to replace null values with special objects, called “ghosts”, that track the propagation of the nulls from inception to their error-triggering dereference. Causality traces are extracted from these ghosts. We evaluate our contribution by providing and assessing the causality traces of 14 real null dereference bugs collected over six large, popular open-source projects.Lire moins >
Langue :
Anglais
Comité de lecture :
Oui
Audience :
Internationale
Vulgarisation :
Non
Commentaire :
update for oadoi on Nov 02 2018
Collections :
Source :
Fichiers
- https://hal.archives-ouvertes.fr/hal-01354090/document
- Accès libre
- Accéder au document
- https://hal.archives-ouvertes.fr/hal-01354090/document
- Accès libre
- Accéder au document
- https://hal.archives-ouvertes.fr/hal-01354090/document
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- casper-debugging-null-dereferences.pdf
- Accès libre
- Accéder au document
- document
- Accès libre
- Accéder au document
- casper-debugging-null-dereferences.pdf
- Accès libre
- Accéder au document