Projet de recherche doctoral numero :2733

Description

Date depot: 1 janvier 1900
Titre: Systematizing Error Handling in Linux
Directeur de thèse: Gilles MULLER (LIP6)
Domaine scientifique: Sciences et technologies de l'information et de la communication
Thématique CNRS : Non defini

Resumé: The C programming language does not provide any built-in error handling abstractions such as the exceptions found in Java and other languages. Thus, the Linux developer has to explicitly construct code for handling each error. Such code typically involves freeing all previously allocated resources and returning some error number to describe the error condition. In a study of Linux code done in the Coccinelle project (www.emn.fr/x-info/coccinelle), we have observed that error handling code is frequently itself a source of errors, arising either when a developer adds new error handling code and overlooks some required cleanup operations or when a developer adds a new operation requiring cleanup and does not update all of the affected error handling code. This issue has indeed been noticed by Linux developers, who have introduced a coding style in which all cleanup operations are placed in a sequence at the end of the function, after a successful return, and are reached by appropriate gotos into the sequence. This style ensures that no cleanup operations are overlooked, at least if the right goto operations are used. Nevertheless, much of Linux still does not use this style, and converting to it is tedious and error prone. The goal of this PhD to develop a tool for checking error handling code in Linux and converting it to the new style if needed.

Doctorant.e: Saha Suman