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 条
  • [31] A case study of planning for smart factories: Model checking and Monte Carlo search for the rescue
    Edelkamp S.
    Greulich C.
    International Journal on Software Tools for Technology Transfer, 2018, 20 (5) : 515 - 528
  • [32] Statistical Model Checking for Real-Time Database Management Systems: A Case Study
    Cai, Simin
    Gallina, Barbara
    Nystrom, Dag
    Seceleanu, Cristina
    2019 24TH IEEE INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION (ETFA), 2019, : 306 - 313
  • [33] Reentrant Readers-Writers: A Case Study Combining Model Checking with Theorem Proving
    van Gastel, Bernard
    Lensink, Leonard
    Sinetsers, Sjaak
    van Eekelen, Marko
    FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, 2009, 5596 : 85 - 102
  • [34] How to verify a safe real-time system: The application of model checking and timed automata to the production cell case study
    Burns, A
    REAL-TIME SYSTEMS, 2003, 24 (02) : 135 - 151
  • [35] How to Verify a Safe Real-Time System: The Application of Model Checking and Timed Automata to the Production Cell Case Study*
    A. Burns
    Real-Time Systems, 2003, 24 : 135 - 151
  • [36] Towards the Formal Development of Software Based Systems: Access Control System as a Case Study
    Boucherit, Ammar
    Castro, Laura M.
    Khababa, Abdallah
    Hasan, Osman
    INFORMATION TECHNOLOGY AND CONTROL, 2018, 47 (03): : 393 - 405
  • [37] Linking Model-Driven Development and Software Architecture: A Case Study
    Mattsson, Anders
    Lundell, Bjoern
    Lings, Brian
    Fitzgerald, Brian
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2009, 35 (01) : 83 - 93
  • [38] Software Architecture Design by Stepwise Model Transformations A Comparative Case Study
    Gilson, Fabian
    Englebert, Vincent
    MODELSWARD 2015 PROCEEDINGS OF THE 3RD INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT, 2015, : 134 - 145
  • [39] An empirically based model of software prototyping: a mapping study and a multi-case study
    Elizabeth Bjarnason
    Franz Lang
    Alexander Mjöberg
    Empirical Software Engineering, 2023, 28
  • [40] An empirically based model of software prototyping: a mapping study and a multi-case study
    Bjarnason, Elizabeth
    Lang, Franz
    Mjoberg, Alexander
    EMPIRICAL SOFTWARE ENGINEERING, 2023, 28 (05)