编译器验证工具CVK
判断C编译器是否正确编译SCADE KCG生成的C代码
该验证的目的是达到要求的安全性标准,保证源代码和目标代码之间没有分歧,这符合DO-178B及相关政策(DO-248B FAQ #43和CAST-12)的要求。(CAST-12, CAST-25).
验证编译器的行为是基于一组代表性的用例。CVK包含所有可以用KCG生成的代码结构和所有所需的测试向量,以达到100%MC/DC覆盖率。如果这些验证用例通过交叉编译生成了目标代码,就应如同人工代码一样被验证,包括代码走查、结构覆盖率测试。
一旦编译器的验证完成后,便无需对SCADE生成的目标代码进行低层测试。
KCG集成测试流程
以 KCG + CVK + MTC作为完整的测试流程,KCG生成的代码可以达到100%MC/DC覆盖率的水平。
C编辑器的验证:原理
- KCG生成的源代码只用到了C语言的一部分子集,复杂度比较低(多数为计算,比较一类的操作符)
- 提供给您一个SCADE的模型,包含了所有可能使用KCG生成的C代码结构,同时还给您提供达到100%MC/DC要求的基于需求的测试用例,便于我们进行测试
- 我们所说的子集的理论是相关安全机构认可的。(CAST-12 ?h)
- 对于C编译器的验证活动是“集成测试”的一部分。
CVK在验证过程中的作用
