Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Benoit Cornu is active.

Publication


Featured researches published by Benoit Cornu.


ieee international conference on software analysis evolution and reengineering | 2017

Dynamic patch generation for null pointer exceptions using metaprogramming

Thomas Durieux; Benoit Cornu; Lionel Seinturier; Martin Monperrus

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.


Journal of Systems and Software | 2016

Casper: Automatic Tracking of Null Dereferences to Inception with Causality Traces

Benoit Cornu; Earl T. Barr; Lionel Seinturier; Martin Monperrus

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.


Information & Software Technology | 2015

Exception handling analysis and transformation using fault injection: Study of resilience against unanticipated exceptions

Benoit Cornu; Lionel Seinturier; Martin Monperrus


arXiv: Software Engineering | 2015

NPEFix: Automatic Runtime Repair of Null Pointer Exceptions in Java

Benoit Cornu; Thomas Durieux; Lionel Seinturier; Martin Monperrus


arXiv: Software Engineering | 2015

Dynamic Analysis can be Improved with Automatic Test Suite Refactoring

Jifeng Xuan; Benoit Cornu; Matias Martinez; Benoit Baudry; Lionel Seinturier; Martin Monperrus


Archive | 2014

Challenging Analytical Knowledge On Exception-Handling: An Empirical Study of 32 Java Software Packages

Martin Monperrus; Maxence de Montauzan; Benoit Cornu; Raphaël Marvie; Romain Rouvoy


international conference on software engineering | 2015

Casper: using ghosts to debug null deferences with dynamic causality traces

Benoit Cornu


arXiv: Software Engineering | 2015

Casper: Debugging Null Dereferences with Dynamic Causality Traces

Benoit Cornu; Earl T. Barr; Lionel Seinturier; Martin Monperrus


Archive | 2014

Analytical Knowledge About Exception Handling

Benoit Cornu; Raphaël Marvie; Martin Monperrus; Maxence de Montauzan; Romain Rouvoy


Archive | 2014

Throw and Catch Coverage

Benoit Cornu; Martin Monperrus

Collaboration


Dive into the Benoit Cornu's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Raphaël Marvie

Laboratoire d'Informatique Fondamentale de Lille

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Earl T. Barr

University College London

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Benoit Baudry

Royal Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge