ABL: A Bug's Life

Overview

Open source infrastructure software is increasingly widely used across the computing spectrum, in settings ranging from embedded systems to large servers. The use of open source software lowers costs, facilitates collaboration, and makes it possible to limit the size of the trusted computing base. Nevertheless, the increasing reliance on open source infrastructure software introduces new demands in terms of security and safety. In principle, infrastructure software contains security features that protect against data loss, data corruption, and inadvertent transmission of data to third parties. In practice, however, these security features are compromised by a simple fact: software contains bugs.

The goal of the "A Bug's Life" (ABL) project is to develop a comprehensive solution to the problem of finding bugs in API usage in open source infrastructure software, directed towards meeting the needs of the open source developer community. we will design tools based on the C syntax, with as few extensions as possible, so that developers can write specifications using essentially the same language that they use to program. We will deploy a database of semantic patches for recurring bugs to allow developers to apply the bug finding process rapidly. Finally, we will develop complementary tools that will aid in communicating the results of the bug finding process in a way that is understandable by a wide range of developers. All of the tools developed in this project will be released as open source (GPLv2).

Publications

  • Hector: Detecting Resource-Release Omission Faults in Error-Handling Code for Systems Software
    Suman Saha, Jean-Pierre Lozi, Gaël Thomas, Julia L. Lawall, Gilles Muller
    The Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Budapest, Hungary, June 2013.
    Best student paper (William Carter) award
  • Diagnosys: Automatic Generation of a Debugging Interface to the Linux kernel,
    Tegawende F. Bissyande, Laurent Reveillere, Julia Lawall, Gilles Muller.
    27th IEEE/ACM International Conference on Automated Software Engineering.
    Best paper award
  • Finding Resource-Release Omission Faults in Linux.
    Suman Saha, Julia Lawall, and Gilles Muller.
    6th Workshop on Programming Languages and Operating Systems (PLOS 2011), Cascais, Portugal, October 2011.
  • An approach to improving the structure of error-handling code in the Linux kernel.
    Suman Saha, Julia L. Lawall, Gilles Muller.
    2011 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems (LCTES), Chicago, Illinois, April 2011, pages 41-50. (local copy)
  • Faults in Linux: Ten Years Later
    Nicolas Palix, Gaël Thomas, Suman Saha, Christophe Calvès, Julia Lawall, Gilles Muller.
    Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2011), Newport Beach, California, March 2011, pages 305-318. (local copy) (slides)
  • Improving the Security of Infrastructure Software using Coccinelle.
    Julia L. Lawall, René Rydhof Hansen, Nicolas Palix, Gilles Muller.
    ERCIM News 2010(83): 54 (2010)
  • Tracking code patterns over multiple software versions with Herodotos.
    Nicolas Palix, Julia L. Lawall, Gilles Muller.
    Proceedings of the 9th International Conference on Aspect-Oriented Software Development, AOSD 2010, Rennes and Saint-Malo, France, March 2010, pages 169-180. (local copy)
  • How Often Do Experts Make Mistakes?
    Nicolas Palix, Julia L. Lawall, Gaël Thomas, Gilles Muller.
    9th Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS 2010), ACP4IS 2010, Rennes and Saint-Malo, France, March 2010.
  • Finding Error Handling Bugs in OpenSSL using Coccinelle
    Julia Lawall, Ben Laurie, René Rydhof Hansen, Nicolas Palix, Gilles Muller.
    Eighth European Dependable Computing Conference, EDCC 2010, Valencia, Spain, April 2010. (local copy)
  • 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 (local copy)
    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.
  • Sponsors

    The ABL project is supported in part by the Agence Nationale de la Recherche (France) under the contract ANR-09-BLAN-0158.

    Last modified: 16/11/2011. Gilles.Muller@lip6.fr