Example of change in the Main Document : fig 2-1 DO-178B DO-178C
Tool Qualification Supplement
DO-178B
2 cases
Development Tool
Verification Tool
DO-178C 3 criteria & 5 levels (TQL) Criteria 1 Criteria 2 Criteria 3 Could insert an error Could fail to detect an error and is used to reduce other development or verification activities Could fail to detect an error Qualification needed when processes are eliminated, reduced or automated without manual verification
TQL 1: do-178 level A TQL 2: do-178 level B TQL3: do-178 level C TQL4 : complete requirements describe architecture more verifications TQL5 : TOR verification Software Level Criteria 1 2 3 A TQL-1 TQL-4 TQL-5 B TQL-2 TQL-4 TQL-5 C TQL-3 TQL-5 TQL-5 D TQL-4 TQL-5 TQL-5
OOT Supplement
Very few changes related to DO-178B
Addresses more than pure OOT stuff
Memory management (e.g. garbage collection)
Exception management
Generics (parametric polymorphism)
Virtualization techniques
One significant additional objective:
“ Local Type Consistency Verification”
Many guidelines
Can be addressed by proper Design/Coding standards
Local Type Consistency Verification
3 choices are given:
Formally verify substitutability
Ensure that each class pass all the tests of its parent types that the class can replace
For each call point, test every method that can be invoked (pessimistic testing approach)
Rationale:
Usual Structural Coverage Analysis not sufficient in presence of dynamic dispatch
Liskov Substitution Principle
Memory Management
The bar is pretty high but it makes it possible to use sound real-time garbage collectors
All typical vulnerabilities of memory managers are to be verified:
Ambiguous references
Fragmentation
Deallocation starvation
Heap memory exhanstion
Premature deallocation
Time bound allocation & deallocation
…
Virtualization
What is code and what is data ?
Many objectives apply to code (… and not to data…)
“ Any time that data, when interpreted, provides control flow for the executable program, virtualization is being used”
Each virtualization layer must be verified on its own
Formal Methods Supplement
Many activities can be achieved by formal methods
Requirements consistency, correctness & review
Source code review and compliance with LLR
Test cases covering the LLR
…
Some (but not all) testing can be replaced by formal verification
What about formal verification of the source code?
Can it be used to alleviate testing?
No. What runs of the target hardware is the object code not the source code!
… but … there is an escape clause:
<< Formal analysis of source code can be used to reach [compliance with LLR] provided that complementary analyses show the property preservation between source code and object code>>
0 comments
Post a comment