Published September 2003 | Version v1
Journal article

Assertion checking environment (ACE) for formal verification of C programs

Description

In this paper we describe an Assertion Checking Environment (ACE) for compositional verification of programs, which are written in an industrially sponsored safe subset of C programming language called MISRA C [Guidelines for the Use of the C Language in Vehicle Based Software, 1998]. The theory is based on Hoare logic [Commun. ACM 12 (1969) 576] and the C programs are verified using static assertion checking technique. First the functional specifications of the program, captured in the form of pre- and post-conditions for each C function, are derived from the specifications. These pre- and post-conditions are then introduced as assertions (also called annotations or formal comments) in the program code. The assertions are then proved formally using ACE and theorem proving tool called Stanford Temporal Prover [The Stanford Temporal Prover User's Manual, 1998]. ACE has been developed by us and consists mainly of a translator c2spl, a GUI and some utility programs. The technique and tools developed are targeted towards verification of real-time embedded software

Additional details

Identifiers

DOI
10.1016/S0951-8320(03)00092-9;
arXiv
arXiv:hep-th/9809078v2;
PII
S0951832003000929;

Publishing Information

Journal Title
Reliability Engineering and System Safety
Journal Volume
81
Journal Issue
3
Journal Page Range
p. 281-290
ISSN
0951-8320
CODEN
RESSEP

INIS

Country of Publication
United Kingdom
Country of Input or Organization
International Atomic Energy Agency (IAEA)
INIS RN
36072536
Subject category
S99: GENERAL AND MISCELLANEOUS;
Descriptors DEI
CONTROL; PROGRAMMING LANGUAGES; SPECIFICATIONS; TRANSLATORS; VERIFICATION
Descriptors DEC
COMPUTER CODES

Optional Information

Copyright
Copyright (c) 2003 Elsevier Science B.V., Amsterdam, The Netherlands, All rights reserved.