本课程讨论如何使用Polyspace® Code Prover™ 证明代码的正确性,改善软件质量指标以及确保产品完整性。该动手实践课程面向为嵌入式系统开发软件或模型的工程师。内容包括:
- 创建验证项目
- 审阅和理解验证结果
- 模仿目标执行环境
- 处理缺失函数和数据
- 管理未证明代码(Polyspace 中标记的橙色代码)
- 应用MISRA-C®规则
- 创建分析结果报告
课程要求
扎实的C/C++功底
详细提纲:
第一部分
|
Polyspace工作流程概览
|
目标:了解Polyspace Bug Finder与Code Prover并跑通一个例子程序
· Polyspace与软件开发流程
· 简单验证样例
· 分析代码中的缺陷与运行时错误
|
Polyspace Bug Finder分析
|
目标:分析可能不符合ANSI C的代码并配置运行时环境,使用 Bug Finder 纠正缺陷和编码规则违规。
· 常见运行环境构件
· 处理处理器特定代码
· 定义执行的上下文
· 设置目标硬件信息
· 分析和管理Bug Finder发现的缺陷
· 检测编码规则冲突
· 度量代码统计指标
|
分析Polyspace Code Prover的结果
|
目标: 能熟练解释Polyspace Code Prover的结果。
· 抽象解释概览
· 调用层次分析
· 源代码导航
· 执行路径
· 变量范围
· 全局变量
|
代码验证中的检查项
|
目标:能熟练解读Polyspace Code Prover的结果。
· C代码检查项一览
· 源代码中的检查项定位
· 检查项描述
· 相关验证选项
|
第二部分
|
管理Polyspace Code Prover验证与结果
|
目标:处理含有大量未证明检查项的验证结果。
· 判断验证开销
· 进行快速评审
· 进行选择性的橙色代码评审
· 设置验证精度
· 区分橙色检查项优先级
· 评审橙色检查项
|
增加Polyspace Code Prover验证精度
|
目标:学习如何在用Polyspace Code Prover验证代码时处置缺失的代码,以及如何对此施加影响从而产生更有意义的验证结果。
· 鲁棒性验证与上下文验证
· 函数打桩
· 数据范围指定
· 手动打桩
|
集成分析
|
目标:学习如何管理复杂性日益增加的代码验证,以及如何解释并比较集成分析与健壮性分析。
· 管理代码模块
· 用Bug Finder与Code Prover分析集成缺陷与编码违规
· 导入注释
|
完整应用分析
|
目标:回顾对整个应用进行完整验证时的流程和选项。
· 创建应用级验证工程
· 改善应用的验证结果
· 发现并发访问问题
· 对比健壮性验证和上下文验证
· 创建文档
|
第三部分
|
实践教学(选修)
|
目标:花时间来回顾你学到的内容并在你自己的项目上直接应用 Polyspace. 潜在内容包括:
· Bug Finder 检测
· 验证 C++ 代码
· 任务和共享数据分析
· 验证生成的代码
· 开发过程回顾
· 工作流程整合
· 客户端/服务器软件安装
· 项目代码的 Polyspace 配置
· 结果解释
|
如果您想学习本课程,请
预约报名
如果没找到合适的课程或有特殊培训需求,请
订制培训
除培训外,同时提供相关技术咨询与技术支持服务,有需求请发需求表到邮箱soft@info-soft.cn,或致电4007991916
技术服务需求表点击在线申请
服务特点:
海量专家资源,精准匹配相关行业,相关项目专家,针对实际需求,顾问式咨询,互动式授课,案例教学,小班授课,实际项目演示,快捷高效,省时省力省钱。
专家力量:
中国科学院软件研究所,计算研究所高级研究人员
oracle,微软,vmware,MSC,Ansys,candence,Altium,达索等大型公司高级工程师,项目经理,技术支持专家
中科信软培训中心,资深专家或讲师
大多名牌大学,硕士以上学历,相关技术专业,理论素养丰富
多年实际项目经历,大型项目实战案例,热情,乐于技术分享
针对客户实际需求,案例教学,互动式沟通,学有所获