Papers and Slides

BibTeX

Overview

  • Coccinelle: A Program Matching and Transformation Tool for Systems Code. An overview of Coccinelle. July 2009.

  • A Foundation for Flow-Based Program Matching. An overview of how Coccinelle works. September 2009.

  • Finding Bugs in Open Source Systems Code using Coccinelle. A brief overview of the use of Coccinelle to find bugs in Linux code. February 2010.
    Video @ FOSDEM 2010 [Direct download - 49MB] [Youtube]

  • Research papers

  • Herodotos: A Tool to Expose Bugs' Lives New!
    Nicolas Palix, Julia Lawall, Gilles Muller.
    INRIA research report RR-6984. A version of this paper will be presented at the Conference Francaise sur les Systemes d'Exploitation (CFSE'09). The data from the paper is available here.

  • Finding Bugs in Open Source Software using Coccinelle
    Sune Rievers Bachelors Thesis, University of Copenhagen, June 2009.

  • WYSIWIB: A Declarative Approach to Finding Protocols and Bugs in Linux Code (local copy)
    Julia L. Lawall, Julien Brunel, Nicolas Palix, René Rydhof Hansen, Henrik Stuart, Gilles Muller
    DSN 2009 - The 39th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, pages 43-52, Estoril, Portugal, June 2009. Preliminary version available as Ecole des Mines de Nantes Technical Report 08/1/INFO. July 2008. Data from the paper. Slides from the talk.

  • Enforcing the use of API functions in Linux code
    Julia Lawall, Gilles Muller, Nicolas Palix
    8th Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS '09), pages 7-11, Charlottesville, VA, USA, March, 2009.

  • A Foundation for Flow-Based Program Matching Using Temporal Logic and Model Checking
    Julien Brunel, Damien Doliguez, René Rydhof Hansen, Julia Lawall, Gilles Muller
    The 36th Annual ACM SIGPLAN - SIGACT Symposium on Principles of Programming Languages, pages 114-126, Savannah, Georgia, USA, January, 2009.
    Preliminary version available as Ecole des Mines de Nantes Technical Report 08/2/INFO. July 2008.

  • Generic Patch Inference
    Jesper Andersen and Julia Lawall
    23rd IEEE/ACM International Conference on Automated Software Engineering, 337-346, L'Aquila, Italy, September 2008.
    (Distinguished paper award). More information about the tool, spdiff, described in this paper is available here.

  • Hunting bugs with Coccinelle
    Henrik Stuart
    Masters Thesis, University of Copenhagen, August 2008.

  • Documenting and Automating Collateral Evolutions in Linux Device Drivers (local copy)
    Yoann Padioleau, Julia Lawall, Gilles Muller, René Rydhof Hansen
    EuroSys 2008, pages 247-260, Glasgow, Scotland, April, 2008. (slides) The semantic patches and test files used in this paper are also available: coccinelle-tests.tgz

  • Towards Easing the Diagnosis of Bugs in OS Code (local copy)
    Henrik Stuart, René Rydhof Hansen, Julia L. Lawall, Jesper Andersen, Yoann Padioleau, and Gilles Muller
    4th Workshop on Programming Languages and Operating Systems, Stevenson, Washington, October 2007.

  • Tutorial paper: Semantic Patches, Documenting and Automating Collateral Evolutions in Linux Device Drivers
    Yoann Padioleau, Julia L. Lawall, and Gilles Muller
    Ottawa Linux Symposium (OLS 2007), June 2007. (slides: PPT, ODP ).
    This tutorial also introduces the second version of the language SmPL where the use of inherited metavariables is made easier.

  • Towards Documenting and Automating Collateral Evolutions in Linux Device Drivers
    Yoann Padioleau, René Rydhof Hansen, Julia L. Lawall, and Gilles Muller
    INRIA Research Report, January 2007.

  • Semantic Patches for Documenting and Automating Collateral Evolutions in Linux Device Drivers (local copy)
    Yoann Padioleau, René Rydhof Hansen, Julia L. Lawall, and Gilles Muller
    PLOS 2006: Workshop on Linguistic Support for Modern Operating Systems, San Jose, California, October 2006. (slides)

  • Position paper: Semantic Patches Considered Helpful (local copy)
    Gilles Muller, Yoann Padioleau, Julia L. Lawall, and René Rydof Hansen
    ACM SIGOPS Operating Systems Review (July 2006)

  • SmPL: A Domain-Specific Language for Specifying Collateral Evolutions in Linux Device Drivers
    Yoann Padioleau, Julia L. Lawall, and Gilles Muller
    International ERCIM Workshop on Software Evolution (2006), ENTCS (slides)

  • Understanding Collateral Evolution in Linux Device Drivers (local copy)
    Yoann Padioleau, Julia L. Lawall, and Gilles Muller
    Proceedings of the ACM SIGOPS EuroSys 2006 Conference, pages 59-71, Leuven, Belgium, April 2006. (slides)
    Software
    Also available as INRIA Research Report RR-5769, November 2005

  • Tarantula: Killing Driver Bugs Before They Hatch
    Julia L. Lawall, Gilles Muller, Richard Urunuela
    Proceedings of the Fourth AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS), pages 13-18, Chicago, Illinois, March 2005. (slides) (Coccinelle was formerly known as Tarantula.)
  • Papers by others using Coccinelle

  • Deciding between if and switch when writing code
    Derek M. Jones
    CVu, volume 21, 2009.