In this thesis, we study a collection of kernel oopses over a period of 8 months from a repository that is maintained by Red Hat. We consider the overall features of the data, the degree to which the data reflects other information about Linux, and the interpretation of features that may be relevant to reliability. We find that the data correlates well with other information about Linux, but that it suffers from duplicate and missing information. We furthermore identify some potential pitfalls in studying features such as the sources of common faults and common failing applications.
Furthermore, a kernel oops provides valuable first-hand information for a Linux kernel maintainer to conduct postmortem debugging, since it logs the status of the Linux kernel at the time of a crash. However, debugging based on only the information in a kernel oops is difficult. To help developers with debugging, we devised a solution to derive the offending line from a kernel oops, i.e., the line of source code that incurs the crash. For this, we propose a novel algorithm based on approximate sequence matching, as used in bioinformatics, to automatically pinpoint the offending line based on information about nearby machine-code instructions, as found in a kernel oops. Our algorithm achieves 92% accuracy compared to 26% for the traditional approach of using only the oops instruction pointer. We integrated the solution into a tool named OOPSA, which would relieve some burden for the developers with the kernel oops debugging.
Defence : 12/18/2014 - 15h - Site Jussieu - Salle Jean-Louis Laurière - 25-26/101
Jury members :
Laurent Réveillère, LaBRI, Bordeaux [rapporteur]
Nicolas Anquetil, Inria, Lille [rapporteur]
Pierre Sens, LIP6, Paris
Nicolas Palix, IMAG, Grenoble
David Lo, SMU, Singapore
Julia Lawall, LIP6, Paris
Gilles Muller, LIP6, Paris
- L. Guo : “Boost the Reliability of the Linux Kernel — Debugging Kernel Oopses”, thesis, defence 12/18/2014, supervision Lawall, Julia, rapporteurs : MULLER Gilles (2014)
- L. Guo, J. Lawall, G. Muller : “Oops! Where Did That Code Snippet Come From?”, MSR 2014 Proceedings of the 11th Working Conference on Mining Software Repositories, Hyderabad, India, pp. 52-61, (ACM) (2014)