• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

A Verified Operating System Kernel (1987)

by William Bevier
Add To MetaCart

Tools

Sorted by:
Results 11 - 20 of 24
Next 10 →

Hoare logic for realistically modelled machine code

by Magnus O. Myreen, Michael J. C. Gordon - In Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2007), LNCS , 2007
"... Abstract. This paper presents a mechanised Hoare-style programming logic framework for assembly level programs. The framework has been designed to fit on top of operational semantics of realistically modelled machine code. Many ad hoc restrictions and features present in real machine-code are handle ..."
Abstract - Cited by 13 (5 self) - Add to MetaCart
Abstract. This paper presents a mechanised Hoare-style programming logic framework for assembly level programs. The framework has been designed to fit on top of operational semantics of realistically modelled machine code. Many ad hoc restrictions and features present in real machine-code are handled, including finite memory, data and code in the same memory space, the behavior of status registers and hazards of corrupting special purpose registers (e.g. the program counter, procedure return register and stack pointer). Despite accurately modeling such low level details, the approach yields concise specifications for machinecode programs without using common simplifying assumptions (like an unbounded state space). The framework is based on a flexible state representation in which functional and resource usage specifications are written in a style inspired by separation logic. The presented work has been formalised in higher-order logic, mechanised in the HOL4 system and is currently being used to verify ARM machine-code implementations of arithmetic and cryptographic operations. 1

Invariant Performance: A Statement of Task Isolation Useful for Embedded Application Integration

by Matthew M. Wilding, David S. Hardin, David A. Greve, Rockwell Collins Inc - In Dependable Computing for Critical Applications, DCCA-7 , 1999
"... . We describe the challenge of embedded application integration and argue that the conventional formal verification approach of proving abstract behavior is not useful in this domain. We introduce invariant performance, a formulation of task isolation useful for application integration. We demonstra ..."
Abstract - Cited by 10 (1 self) - Add to MetaCart
. We describe the challenge of embedded application integration and argue that the conventional formal verification approach of proving abstract behavior is not useful in this domain. We introduce invariant performance, a formulation of task isolation useful for application integration. We demonstrate invariant performance by formalizing it in the logic of PVS for a simple yet realistic embedded system. 1 Introduction Integration of multiple real-time embedded applications onto a single processor is increasingly attractive because the capacity of computing devices continues to grow. The use of fewer devices reduces space and power consumption that can be very valuable in an embedded environment, and fewer device connections increase reliability. Greater integration can also simplify the development of fault-tolerant architectures. Integration of applications poses daunting challenges as well, because integrated applications may interact. Applications that share computing resources can...

Operating System Verification — An Overview

by Gerwin Klein
"... Abstract. This paper gives a high-level introduction to the topic of formal, interactive, machine-checked software verification in general, and the verification of operating systems code in particular. We survey the state of the art, the advantages and limitations of machinechecked code proofs, and ..."
Abstract - Cited by 10 (4 self) - Add to MetaCart
Abstract. This paper gives a high-level introduction to the topic of formal, interactive, machine-checked software verification in general, and the verification of operating systems code in particular. We survey the state of the art, the advantages and limitations of machinechecked code proofs, and describe two specific ongoing larger-scale verification projects in more detail.

Proof styles in operational semantics

by Ip Ray, J Strother Moore - Proceedings of the 5th International Conference on Formal Methods in Computer-Aided Design (FMCAD 2004), volume 3312 of LNCS , 2004
"... Abstract. We relate two well-studied methodologies in deductive verification of operationally modeled sequential programs, namely the use of inductive invariants and clock functions. We show that the two methodologies are equivalent and one can mechanically transform a proof of a program in one meth ..."
Abstract - Cited by 8 (4 self) - Add to MetaCart
Abstract. We relate two well-studied methodologies in deductive verification of operationally modeled sequential programs, namely the use of inductive invariants and clock functions. We show that the two methodologies are equivalent and one can mechanically transform a proof of a program in one methodology to a proof in the other. Both partial and total correctness are considered. This mechanical transformation is compositional; different parts of a program can be verified using different methodologies to achieve a complete proof of the entire program. The equivalence theorems have been mechanically checked by the ACL2 theorem prover and we implement automatic tools to carry out the transformation between the two methodologies in ACL2.

The Role of Automated Reasoning in Integrated System Verification Environments

by Donald I. Good, Matt Kaufmann, J Strother Moore , 1992
"... in this document are those of the author(s) and should not be interpreted as representing the official policies, either ..."
Abstract - Cited by 3 (2 self) - Add to MetaCart
in this document are those of the author(s) and should not be interpreted as representing the official policies, either

An Overview of the Formal Specification and Verification of the FM9001 Microprocessor

by Bishop C. Brock, Warren A. Hunt, Jr. , 1994
"... This document presents the details of the FM9001 development, its specification, and its verification. 1 RESULTS ..."
Abstract - Cited by 3 (0 self) - Add to MetaCart
This document presents the details of the FM9001 development, its specification, and its verification. 1 RESULTS

A mechanized program verifier

by J Strother Moore - In IFIP Working Conference on the Program Verifier Challenge , 2005
"... Abstract. In my view, the “verification problem ” is the theorem proving problem, restricted to a computational logic. My approach is: adopt a functional programming language, build a general purpose formal reasoning engine around it, integrate it into a program and proof development environment, an ..."
Abstract - Cited by 3 (0 self) - Add to MetaCart
Abstract. In my view, the “verification problem ” is the theorem proving problem, restricted to a computational logic. My approach is: adopt a functional programming language, build a general purpose formal reasoning engine around it, integrate it into a program and proof development environment, and apply it to model and verify a wide variety of computing artifacts, usually modeled operationally within the functional programming language. Everything done in this approach is software verification since the models are runnable programs in a subset of an ANSI standard programming language (Common Lisp). But this approach is of interest to proponents of other approaches (e.g., verification of procedural programs or synthesis) because of the nature of the mathematics of computing. I summarize the progress so far using this approach, sketch the key research challenges ahead and describe my vision of the role and shape of a useful verification system. 1

Memory Taggings and Dynamic Data Structures

by J Strother Moore - In Fourth International Workshop on the ACL2 Theorem Prover and Its Applications (ACL2-2003 , 2003
"... The aim of this paper is to help formal methods practitioners deal with the formal proofs of elementary properties of data structures represented in a RAM-like memory. This problem commonly arises when dealing with proofs of microcode, machine code, assembly code and compiler correctness. We form ..."
Abstract - Cited by 2 (0 self) - Add to MetaCart
The aim of this paper is to help formal methods practitioners deal with the formal proofs of elementary properties of data structures represented in a RAM-like memory. This problem commonly arises when dealing with proofs of microcode, machine code, assembly code and compiler correctness. We formalize a version of the problem in ACL2 and discuss how to prove several important properties. In particular, our data structures are typed but the type information is not recorded in the representation. Algorithms for manipulating the representation implicitly respect the declared types. We support arbitrarily many record types within the RAM. Each eld of each record is declared to contain either a data item or a pointer to a record of some xed type. It is possible for records to be overlaid on other records and for the pointer structures to be circular. We de ne an elementary generic algorithm that recursively \chases" pointers and writes \arbitrary" values to the elds declared to contain data. The formal expression of the algorithm is complicated by both mutual recursion and reexivity, which present technical challenges. We then consider certain \obvious" properties, especially the property that the algorithm does not modify addresses that are \unreachable" from the initial pointer. Because records may be overlaid in the RAM| causing a given address to be treated sometimes as data and other times as a pointer | these obvious properties are true under only certain restrictions. If the restrictions are stated in terms of reachability the proofs are complicated, if not blocked, by the technical issues above. To prove the properties we generalize them by introducing \memory taggings" and formalizing the idea that a given run of the algorithm treats addres...

A mechanical analysis of program verification strategies

by Sandip Ray - Journal of Automated Reasoning , 2008
"... Abstract. We analyze three proof strategies commonly used in deductive verification of deterministic sequential programs formalized with operational semantics. The strategies are: (i) stepwise invariants, (ii) clock functions, and (iii) inductive assertions. We show how to formalize the strategies i ..."
Abstract - Cited by 2 (1 self) - Add to MetaCart
Abstract. We analyze three proof strategies commonly used in deductive verification of deterministic sequential programs formalized with operational semantics. The strategies are: (i) stepwise invariants, (ii) clock functions, and (iii) inductive assertions. We show how to formalize the strategies in the logic of the ACL2 theorem prover. Based on our formalization, we prove that each strategy is both sound and complete. The completeness result implies that given any proof of correctness of a sequential program one can derive a proof in each of the above strategies. The soundness and completeness theorems have been mechanically checked with ACL2.

The FM9001 microprocessor proof

by Matt Kaufmann , 1994
"... ..."
Abstract - Cited by 1 (0 self) - Add to MetaCart
Abstract not found
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University