DocumentCode :
1579037
Title :
Verification of C Programs Using Automated Reasoning
Author :
Crocker, David ; Carlton, Judith
Author_Institution :
Escher Technol. Ltd., Aldershot
fYear :
2007
Firstpage :
7
Lastpage :
14
Abstract :
Much of the embedded software development market has necessarily tight constraints on program size and processor power, hence developers use handwritten C rather than autocode. They rely primarily on testing to find errors in their code. We have an established software development tool known commercially as Perfect Developer, which uses a powerful automatic theorem prover and inference engine to reason about requirements and specifications. We have found that automated reasoning can be used to discharge a very high proportion of verification conditions arising from the specification and refinement of software components described in our formal specification language, Perfect. The Perfect Developer tool set can also generate code in a C++ subset or in Java, and the output code is then virtually certain to meet the stated specification, reducing the need for exhaustive testing. However, this is not helpful to developers of embedded software who are constrained to write code by hand. We therefore decided to investigate whether automated reasoning could provide a similar degree of success in the verification of annotated C code. We present our preliminary findings.
Keywords :
C language; formal specification; inference mechanisms; program testing; reasoning about programs; software tools; specification languages; theorem proving; C program verification; C++ subset; Java; Perfect Developer; automated reasoning; automatic theorem prover; embedded software development market; formal specification language; handwritten C; inference engine; processor power; program size; requirement reasoning; software development tool; software testing; specifications reasoning; verification conditions; Application software; Buffer overflow; Computer languages; Embedded software; Formal specifications; Java; Programming; Runtime; Software safety; Vehicle crash testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering and Formal Methods, 2007. SEFM 2007. Fifth IEEE International Conference on
Conference_Location :
London
Print_ISBN :
978-0-7695-2884-7
Type :
conf
DOI :
10.1109/SEFM.2007.44
Filename :
4343919
Link To Document :
بازگشت