Towards automatic software model checking of thousands of Linux modules-a case study with Avinux

被引:5
|
作者
Post, Hendrik [1 ]
Sinz, Carsten [1 ]
Kuechlin, Wolfgang [1 ]
机构
[1] Univ Tubingen, Symbol Computat Grp, Tubingen, Germany
来源
关键词
software model checking; integration and application of formal methods; operating systems; software verification; model checking; case study; STATIC ANALYSIS; C-PROGRAMS; VERIFICATION; TOOL;
D O I
10.1002/stvr.399
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Modular software model checking of large real-world systems is known to require extensive manual effort in environment modelling and preparing source code for model checking. Avinux is a tool chain that facilitates the automatic analysis of Linux and especially of Linux device drivers. The tool chain is implemented as a plugin for the Eclipse IDE, using the source code bounded model checker CBMC as its backend. Avinux supports a verification process for Linux that is built upon specification annotations with SLICx (an extension of the SLIC language), automatic data environment creation, source code transformation and simplification, and the invocation of the verification backend. In this paper technical details of the verification process are presented: Using Avinux on thousands of drivers from various Linux versions led to the discovery of six new errors. In these experiments, Avinux also reduced the immense overhead of manual code preprocessing that other projects incurred. Copyright (C) 2008 John Wiley & Sons, Ltd.
引用
收藏
页码:155 / 172
页数:18
相关论文
共 50 条
  • [1] Software Model Checking of Linux Device Drivers
    Khoroshilov, Alexey
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2017, (253): : 7 - 8
  • [2] A case study in model checking software systems
    Wing, JM
    VaziriFarahani, M
    SCIENCE OF COMPUTER PROGRAMMING, 1997, 28 (2-3) : 273 - 299
  • [3] Feasibility of model checking software requirements: A case study
    Sreemani, T
    Atlee, JM
    COMPASS '96 - PROCEEDINGS OF THE ELEVENTH ANNUAL CONFERENCE ON COMPUTER ASSURANCE: SYSTEMS INTEGRITY, SOFTWARE SAFETY, PROCESS SECURITY, 1996, : 77 - 88
  • [4] Model checking aircraft controller software: a case study
    Chen, Zhe
    Gu, Yi
    Huang, Zhiqiu
    Zheng, Jun
    Liu, Chang
    Liu, Ziyi
    SOFTWARE-PRACTICE & EXPERIENCE, 2015, 45 (07): : 989 - 1017
  • [5] Software model checking in practice: An industrial case study
    Chandra, S
    Godefroid, P
    Palm, C
    ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2002, : 431 - 441
  • [6] Automatic software model checking using CLP
    Flanagan, C
    PROGRAMMING LANGUAGES AND SYSTEMS, 2003, 2618 : 189 - 203
  • [7] Automatic software model checking via constraint logic
    Flanagan, C
    SCIENCE OF COMPUTER PROGRAMMING, 2004, 50 (1-3) : 253 - 270
  • [8] Assume-guarantee model checking of software: A comparative case study
    Pasareanu, CS
    Dwyer, MB
    Huth, M
    THEORETICAL AND PRACTICAL ASPECTS OF SPIN MODEL CHECKING, 1999, 1680 : 168 - 183
  • [9] Model Checking a C plus plus Software Framework: A Case Study
    Lang, John
    Prasetya, I. S. W. B.
    ESEC/FSE'2019: PROCEEDINGS OF THE 2019 27TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2019, : 1026 - 1036
  • [10] Towards Automated Software Verification Using Model Checking Techniques
    Asadollahi, Somayeh
    Rafe, Vahid
    Rafeh, Reza
    Rahmani, Adel T.
    THIRD INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 305 - +