This paper presents an overview of NASA research program on the V&V of flight critical systems. Five years ago, NASA started an effort to reduce the cost and possibly increase the effectiveness of V&V for flight critical systems. It is the right time to take a look back and realize what progress has been made. This paper describes our overall approach and the tools introduced to address different phases of the software lifecycle. For example, we have improved testing by developing a statistical learning approach tor defining test cases. The tool automatically identifies possible unsafe conditions by analyzing outliers in output data; using an iterative learning process, it can then generate more test cases that represent potentially unsafe regions of operation. At the code level, we have developed and made available as open source a static analyzer for C and C++ programs called IKOS. We have shown that IKOS is very precise in the analysis of embedded C programs (very few false positives) and a bit less for regular C and C++ code. At the design level, in collaboration with our NRA partners, we have developed a suite of analysis tools for Simulink models. The analysis is done in a compositional framework for scalability.
[1]
Ewen Denney,et al.
Formal Foundations for Hierarchical Safety Cases
,
2015,
2015 IEEE 16th International Symposium on High Assurance Systems Engineering.
[2]
Patrick Cousot,et al.
Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints
,
1977,
POPL.
[3]
Mariano M. Moscato,et al.
Affine Arithmetic and Applications to Real-Number Proving
,
2015,
ITP.
[4]
Jorge A. Navas,et al.
The SeaHorn Verification Framework
,
2015,
CAV.
[5]
Temesghen Kahsai,et al.
Verifying the Safety of a Flight-Critical System
,
2015,
FM.
[6]
Jorge A. Navas,et al.
IKOS: A Framework for Static Analysis Based on Abstract Interpretation
,
2014,
SEFM.