|
|||||
|
Domain-Specific Analysis < Verification & Validation < Results Home
|
|
Click here to complete a short survey. The results of this survey will be used to help us improve the research program and this website.
Click here to view research projects that had new research results added in the last 90 days.
|
| A Software Safety Certification Plug-in for Automated Code Generators | |
| Point of Contact |
Ewen Denney edenney@email.arc.nasa.gov |
| Dates | June 2006 - December 2006 |
| Problem |
Model-based design and automated code generation are being used increasingly at NASA. By some estimates, 50% of all NASA projects now use MathWorks Simulink and Real-Time Workshop for at least some of their code development. The trend is to move beyond simulation and prototyping to actual flight code, particularly in the Guidance, Navigation, and Control domain. However, there are substantial obstacles to more widespread adoption of code generators in such safety-critical domains. Since code genera-tors are typically not qualified, there is no guarantee that their output is correct, and consequently the generated code still needs to be fully tested and certified. Moreover, the regeneration of code can require complete recertification, which offsets many of the advantages of using a generator. Since the direct V&V of code generators is too laborious and complicated due to their complex (and often proprietary) nature, we instead propose a generator plug-in to support the subsequent certification of the code they generate. Specifically, our tool will support certification by formally verifying that the generated code is free of different safety violations, by constructing an independently verifiable certificate, and by explaining its analysis in a textual form suitable for code reviews. This will enable missions to obtain assurance about the safety and reliability of the code without excessive manual V&V effort and, as a consequence, increase the acceptance of code generators in safety-critical contexts. The generation of explicit certificates is particularly well-suited to supporting independent V&V. The key technical idea of our approach is to exploit the idiomatic nature of auto-generated code in order to automatically infer logical annotations. These allow the automatic formal verification of the safety properties without requiring access to the internals of the code generator. Hence, the approach is independent of the particular generator used. We will demonstrate the feasibility of our approach on helicopter flight code from NASA's RASCAL project that has been generated using MathWorks Real-Time Workshop (RTW), an automatic code generator that translates from Stateflow/Simulink models into embedded C code. |
| Objective |
We will develop a fully automatic and precise tool (Cert/RTW) for the formal safety certification of code auto-generated by RTW. In Phase I (6 months), we will carry out a study to demonstrate the feasibility of our approach. We will use auto-generated RASCAL helicopter flight code as a driving example. Subsequently, in the first year, we will identify important safety properties and coding patterns from a relevant subset of Simulink/Stateflow as identified in the study. We will develop and implement pattern matching and annotation inference techniques and incorporate them into an existing certification engine prototype. We will demonstrate the feasibility of our approach by certifying RASCAL flight code. In years 2 and 3, we will extend our property and coding pattern libraries toward more advanced correctness properties (e.g., flight rules) and mature our tool. In a second case study, we will broaden the scope of our tool with respect to the application domain of the code generator. The second half of the final year is devoted to further tool improvements, the development of tool documentation (user manual, training material) and a detailed technology infusion plan. |
| Results |
SAS 06 Executive Briefing.ppt SAS 06 Technical Presentation.ppt |
| Keywords | safety, certification and testing, automated code generators, modeling, patterns |
| Categories |
Software Safety Domain-Specific Analysis Formal Methods Static Analysis Test Analysis Traceability Analysis |
|
| |
|
Curator: Josh Stonestreet NASA Official: Lisa Montgomery |
|
NASA Privacy, Security, Notices |