PhD Qualifying Dissertation Validating and Verifying Memory Safety for Concurrent Operating System Code
نویسنده
چکیده
The current practice of finding programming errors in operating system development is by testing and debugging. However, testing techniques are expensive because of their requirement of manual labour. Furthermore, they are susceptible to missing severe errors. This problem can be solved by applying automated verification techniques such as software model checking. Most of these techniques suffer from limitations in analysing pointer programs and dealing with concurrency. Because of this, verification methods available today are not sufficient to cover the class of software defects related to memory safety in concurrent reactive software systems. In this dissertation we give a review on current practice and state-ofthe-art techniques and tools for detecting memory safety errors in computer programs. Furthermore we outline a new approach in validating and verifying memory safety properties for concurrent reactive software systems such as device drivers. Our approach is based on both, program simulation and software model checking. In contrast to previous work on memory safety problems, we intend to provide a fully automatic analysis and verification framework covering a broad range of memory safety related problems.
منابع مشابه
Verifying Finite-State Safety Properties on Millions of Lines of Code
We present a context-sensitive, flow-sensitive, field-sensitive, and intraprocedurally path-sensitive static analysis capable of verifying finite-state safety properties of very large systems. Unusually for finitestate property verifiers, our system analyzes functions separately, and it is this feature that enables scalability. We evaluate an implementation of our analysis by trying to verify t...
متن کاملThe structure of a type safe operating system
The architecture of traditional operating systems relies on address-based memory protection. To achieve flexibility at a low cost operating system research has recently started to explore alternative protection mechanisms, such as type safety. This dissertation presents an operating system architecture that completely replaces address-based protection with type-based protection. Replacing such ...
متن کاملMemory Model Safety of Programs
Concurrency is pervasive in all systems software, including operating systems, databases, and web servers. With the future hardware performance improvements coming mainly from additional parallelism in the hardware, system designers will be forced make their programs more concurrent to exploit this trend. A particular problem that programmers face when writing concurrent programs is to ensure c...
متن کاملSafety Kernel Enforcement of Software Safety Policies
Computing systems in which the consequences of failure are very serious are termed safety-critical. Many such systems exist in application areas such as aerospace, defense, transportation, power-generation, and medicine. The software in these systems is typically large and complex, critical to system safety, and difficult to implement and verify. Even when great effort is expended to develop th...
متن کاملData Abstraction in VCC
In these notes, we present a methodology for verifying C code, i.e. proving mechanically that it meets its functional specifications. We target C because it is (along with C++) the the language of choice for writing “important” software (operating system kernels, device drivers, compilers, etc.). The methodology has been developed for VCC, a verifier for concurrent C code. VCC and papers about ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006