Ahead of time static analysis for automatic generation of debugging interfaces to the Linux kernel

被引:1
|
作者
Bissyande, Tegawende F. [1 ]
Reveillere, Laurent [2 ]
Lawall, Julia L. [3 ]
Muller, Gilles [3 ]
机构
[1] Univ Luxembourg, SnT, 4 Rue Alphonse Weicker, L-2721 Luxembourg, Luxembourg
[2] Univ Bordeaux, LaBRI, 351 Cours Liberat, F-33400 Talence, France
[3] Sorbonne Univ Regal, UPMC, LIP6, Inria, 4 Pl Jussieu, F-75252 Paris, France
关键词
Diagnosys; Debugging; Linux; Plugin; Reliability; Testing;
D O I
10.1007/s10515-014-0152-4
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The Linux kernel does not export a stable, well-defined kernel interface, complicating the development of kernel-level services, such as device drivers and file systems. While there does exist a set of functions that are exported to external modules, this set of functions frequently changes, and the functions have implicit, ill-documented preconditions. No specific debugging support is provided. We present Diagnosys, an approach to automatically constructing a debugging interface for the Linux kernel. First, a designated kernel maintainer uses Diagnosys to identify constraints on the use of the exported functions. Based on this information, developers of kernel services can then use Diagnosys to generate a debugging interface specialized to their code. When a service including this interface is tested, it records information about potential problems. This information is preserved following a kernel crash or hang. Our experiments show that the generated debugging interface provides useful log information and incurs a low performance penalty.
引用
收藏
页码:3 / 41
页数:39
相关论文
共 46 条
  • [1] Ahead of time static analysis for automatic generation of debugging interfaces to the Linux kernel
    Tegawendé F. Bissyandé
    Laurent Réveillère
    Julia L. Lawall
    Gilles Muller
    Automated Software Engineering, 2016, 23 : 3 - 41
  • [2] Diagnosys: Automatic Generation of a Debugging Interface to the Linux Kernel
    Bissyande, Tegawende F.
    Reveillere, Laurent
    Lawall, Julia L.
    Muller, Gilles
    2012 PROCEEDINGS OF THE 27TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2012, : 60 - 69
  • [3] Automatic Permission Check Analysis for Linux Kernel
    Zhou, Jinmeng
    Zhang, Tong
    Shen, Wenbo
    Lee, Dongyoon
    Jung, Changhee
    Azab, Ahmed
    Wang, Ruowen
    Ning, Peng
    Ren, Kui
    IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, 2023, 20 (03) : 1849 - 1866
  • [4] Updated tool does kernel-level debugging for real-time Linux
    Wong, W
    ELECTRONIC DESIGN, 2000, 48 (20) : 26 - 26
  • [5] Simple and Precise Static Analysis of Untrusted Linux Kernel Extensions
    Gershuni, Elazar
    Amit, Nadav
    Gurfinkel, Arie
    Narodytska, Nina
    Navas, Jorge A.
    Rinetzky, Noam
    Ryzhyk, Leonid
    Sagiv, Mooly
    PROCEEDINGS OF THE 40TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '19), 2019, : 1069 - 1084
  • [6] Combining Static Analysis and Test Generation for C Program Debugging
    Chebaro, Omar
    Kosmatov, Nikolai
    Giorgetti, Alain
    Julliand, Jacques
    TEST AND PROOFS, PROCEEDINGS, 2010, 6143 : 94 - +
  • [7] Automatic profile generation for live Linux Memory analysis
    Socala, Arkadiusz
    Cohen, Michael
    DIGITAL INVESTIGATION, 2016, 16 : S11 - S24
  • [8] ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools
    Mordahl, Austin
    Soles, Dakota
    Miao, Miao
    Zhang, Zenong
    Wei, Shiyi
    PROCEEDINGS OF THE 32ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS, ISSTA 2023, 2023, : 1479 - 1482
  • [9] Java']Java debugging laboratory for automatic generation and analysis of trace data
    Alekseev, Sergej
    Proceedings of the IASTED International Conference on Software Engineering, 2007, : 177 - 182
  • [10] Analysis of Linux kernel's real-time performance
    Zhang Yanyan
    Ran Xiangjin
    2018 INTERNATIONAL CONFERENCE ON SMART GRID AND ELECTRICAL AUTOMATION (ICSGEA), 2018, : 191 - 194