Author_Institution :
Adv. Technol. Center, Rockwell Collins, Inc., Cedar Rapids, IA
Abstract :
In this tutorial, we will examine issues in the design and verification of microprocessors for safety-critical and security-critical applications. We will consider architectural and design alternatives to support high-assurance applications, and will describe techniques to improve secure system evaluation-measured in terms of completeness, human effort required, time, and cost-through the use of highly automated formal methods. We will describe practical techniques for creating executable formal computing platform models that can both be proved correct, and also function as high-speed simulators. This allows us to both verify the correctness of the models, as well as validate that the formalizations accurately model what was actually designed and built. As a case study, we will examine the design and verification of the Rockwell Collins AAMP7G microprocessor. The AAMP7G, currently in use in Rockwell Collins high-assurance system products, supports strict time and space partitioning in hardware, and has received an NSA MILS (Multiple Independent Levels of Security) certificate based in part on proofs of correctness. We will discuss the AAMP7G verification effort, focusing on the proof architecture that enabled us to show that the AAMP7G separation kernel microcode implements a particular security specification, using the ACL2 theorem prover.
Keywords :
microprocessor chips; program verification; safety-critical software; security of data; ACL2 theorem prover; Rockwell Collins AAMP7G microprocessor; executable formal computing platform models; high-assurance applications; microprocessor design; microprocessor verification; safety-critical applications; security-critical applications; Aerospace electronics; Computational modeling; Computer architecture; Costs; Hardware; Humans; Microprocessors; Security; Time measurement; Tutorial;