SAHA Suman
Direction de recherche : Gilles MULLER
Co-encadrement : LAWALL Julia
Amélioration de la qualité des codes de gestion d'erreur dans les logiciels système en utilisant des informations locales aux fonctions
En C, une stratégie classique pour implémenter les codes de gestion d'erreur est de faire suivre chaque opération qui peut générer une erreur d'une structure conditionnelle qui teste si l'opération a renvoyé une erreur. Ce stratégie basique, cependant, est sujette à erreurs, et il est courant d'oublier des opérations de nettoyage requises, ainsi que d'oublier de mettre à jour des codes de gestion d'erreur existants lorsque la fonction est étendue avec de nouvelles opérations. De plus, une partie importante du code doit souvent être dupliquée. Un style de programmation, stratégie goto, qui peut réduire en partie certaines de ces difficultés. Pour améliorer la structure des codes de gestion d'erreur dans les logiciels système, nous définissions un algorithme qui permet de transformer les codes de gestion d'erreur implémentés suivant la stratégie basique en codes de gestion d'erreur qui utilisent la stratégie goto. Même lorsque les codes de gestion d'erreurs sont structurés, la gestion et la libération des ressources allouées restent un problème lorsqu'il s'agit d'assurer la robustesse du code système. Dans cette thèse, nous proposons un algorithme microscopique de détection d'omission de libération de ressource, basé sur une analyse principalement intra-procédurale, qui prend en compte les flux et les chemins du code et qui cible et exploite les propriétés des codes de gestion d'erreur. Notre algorithme est résistant aux faux positifs dans l'ensemble des acquisitions de ressources et des opérations de libération, ce qui produit un faible taux de faux positifs dans les rapports renvoyés par l'outil tout en passant à l'échelle.
Soutenance : 25/03/2013
Membres du jury :
Mme. Sandrine BLAZY, Professor, University of Rennes 1 [Rapporteur]
M. Laurent RÉVEILLÈRE, Associate Professor, HDR, University of Bordeaux 1 [Rapporteur]
M. Ola f SPINCZYK, Professor, Technische Universität Dortmund

M. Yannis SMARAGDAKIS, Associate Professor, University of Athens

M. Fabrice KORDON, Professor, Université P & M. Curie

M. Gilles MULLER, DR, INRIA
Mme. Julia LAWALL, DR, INRIA
Publications 2010-2014
-
2014
- N. Palix, G. Thomas, S. Saha, Ch. Calvès, G. Muller, J. Lawall : “Faults in Linux 2.6”, ACM Transactions on Computer Systems, vol. 32 (2), pp. 1-40, (Association for Computing Machinery) (2014)
-
2013
- S. Saha : “Improving the Quality of Error-Handling Code in Systems Software using Function-Local Information”, soutenance de thèse, soutenance 25/03/2013, direction de recherche Muller, Gilles, co-encadrement : Lawall, Julia (2013)
- S. Saha, J.‑P. Lozi, G. Thomas, J. Lawall, G. Muller : “Hector: Detecting resource-release omission faults in error-handling code for systems software”, DSN 2013 - 43rd Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), Budapest, Hungary, pp. 1-12, (IEEE Computer Society) (2013)
- S. Saha, J.‑P. Lozi : “EHCtor: Detecting Resource-Release Omission Faults in Error-Handling Code for Systems Software”, 9e Conférence Française en Systèmes d'Exploitation, Grenoble, France (2013)
-
2011
- S. Saha, Julia L. Lawall, G. Muller : “Finding Resource-Release Omission Faults in {Linux}”, 6th Workshop on Programming Languages and Operating Systems, Cascais, Portugal, (ACM) (2011)
- S. Saha, Julia L. Lawall, G. Muller : “An approach to improving the structure of error-handling code in the Linux kernel”, ACM SIGPLAN/SIGBED 2011 conference on Languages, compilers, and tools for embedded systems, Chicago, IL, United States, pp. 41-50, (ACM) (2011)
- N. Palix, G. Thomas, S. Saha, Ch. Calvès, Julia L. Lawall, G. Muller : “Faults in Linux: Ten Years Later”, ASPLOS 2011 - 16th International Conference on Architectural Support for Programming Languages and Operating Systems, Newport Beach, California, United States, pp. 305-318, (ACM) (2011)
-
2010
- N. Palix, S. Saha, G. Thomas, Ch. Calvès, J. Lawall, G. Muller : “Faults in Linux: Ten Years Later”, 21 pages (2010)