A Generic Annotation Inference Algorithm for the Safety Certification of Automatically Generated Code
Denney, Ewen and Fischer, Bernd (2006) A Generic Annotation Inference Algorithm for the Safety Certification of Automatically Generated Code. In, Generative Programming and Component Engineering, 5th International Conference, GPCE 2006, Portland, Oregon, USA, 22 - 26 Oct 2006. ACM Press, 121-130.
Download
|
PDF
Download (159Kb) |
Description/Abstract
Code generators for realistic application domains are not directly verifiable in practice. In the certifiable code generation approach the generator is extended to generate logical annotations (i.e., pre- and postconditions and loop invariants) along with the programs, allowing fully automated program proofs of different safety properties. However, this requires access to the generator sources, and remains difficult to implement and maintain because the annotations are cross-cutting concerns, both on the object-level (i.e., in the generated code) and on the meta-level (i.e., in the generator). Here we describe a new generic post-generation annotation inference algorithm that circumvents these problems. We exploit the fact that the output of a code generator is highly idiomatic, so that patterns can be used to describe all code constructs that require annotations. The patterns are specific to the idioms of the targeted code generator and to the safety property to be shown, but the algorithm itself remains generic. It is based on a pattern matcher used to identify instances of the idioms and build a property-specific abstracted control flow graph, and a graph traversal that follows the paths from the use nodes backwards to all corresponding definitions, annotating the statements along these paths. This core is instantiated for two generators and successfully applied to automatically certify initialization safety for a range of generated programs.
| Item Type: | Conference or Workshop Item (Paper) |
|---|---|
| Additional Information: | Event Dates: October 22-26, 2006 |
| ISBNs: | 1595932372 |
| Keywords: | automated code generation, program verification, software certification, Hoare calculus, logical annotations, automated theorem proving |
| Divisions: | Faculty of Physical and Applied Science > Electronics and Computer Science |
| Item ID: | 263485 |
| Date Deposited: | 18 Feb 2007 |
| Last Modified: | 01 Mar 2012 20:55 |
| Contributors: | Denney, Ewen (Author) Fischer, Bernd (Author) Jarzabek, Stan (Editor) Schmidt, Douglas C. (Editor) Veldhuizen, Todd L. (Editor) |
| Date: | 2006 |
| Additional Information: | Event Dates: October 22-26, 2006 |
| Status: | Published |
| Publisher: | ACM Press |
| Further Information: | Google Scholar |
| URI: | http://eprints.soton.ac.uk/id/eprint/263485 |
Actions (login required)
![]() |
View Item |


