Avinux: Towards Automatic Verification of Linux Device Drivers
نویسندگان
چکیده
Avinux is a tool that facilitates the automatic analysis of Linux and especially of Linux device drivers. The tool 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 includes specification annotation in SLICx (an extension of the SLIC language), automatic data environment creation, source code transformation and simplification, and the invocation of the verification backend. We have successfully used Avinux for the automatic analysis of Linux device drivers reducing the immense overhead of manual code preprocessing that other projects incurred.
منابع مشابه
Towards automatic software model checking of thousands of Linux modules - a case study with Avinux
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 CBM...
متن کاملAutomatic Verification of Message-Based Device Drivers
We develop a practical solution to the problem of automatic verification of the interface between device drivers and the OS. Our solution relies on a combination of improved driver architecture and verification tools. It supports drivers written in C and can be implemented in any existing OS, which sets it apart from previous proposals for verification-friendly drivers. Our Linux-based evaluati...
متن کاملActive Device Drivers
We develop a practical solution to the problem of automatic verification of the interface between device drivers and the operating system. Our solution relies on a combination of improved driver architecture and verification tools. Unlike previous proposals for verification-friendly drivers, our driver development and verification methodology supports drivers written in C and can be implemented...
متن کاملCoverage Driven Verification (CDV) for Embedded Software The Use of CDV and Virtualization to Verify Linux Device Drivers
متن کامل
Temporal-Safety Proofs for Systems Code
We present a methodology and tool for verifying and certifying systems code. The verification is based on the lazy-abstraction paradigm for intertwining the following three logical steps: construct a predicate abstraction from the code, model check the abstraction, and automatically refine the abstraction based on counterexample analysis. The certification is based on the proof-carrying code pa...
متن کامل