分析代码和测试软件在环仿真

代码分析和测试软件在环仿真概述

通过分析代码,检测错误,检查标准的符合性,并评估关键指标,如长度和圈复杂度。通常,对于手写代码,您检查与评估对需求的代码和评估代码覆盖静态代码分析和运行测试用例运行时错误。根据分析结果,改进代码,并添加测试。对于生成的代码,表明代码执行通过使用相同的测试案例和基准结果产生等效的结果到模型中。代码覆盖率比较模型覆盖范围。根据测试结果,增加测试和修改模型重新生成代码。

分析代码的缺陷,度量和MISRA C:2012

此工作流程描述如何检查,如果你的模型产生MISRA®C:2012标准的代码以及如何检查生成的代码的代码度量,代码缺陷,MISRA合规性。为模型产生更多的MISRA兼容代码,您使用的代码生成和模型顾问。要检查代码是否符合MISRA,可以使用Polyspace®MISRA C:2012检查和报告生成功能。在这个例子中,使用的型号万博1manbetxsimulinkCruiseErrorAndStandardsExample。要打开模型:

  1. 打开项目。

    路径=完整文件(matlabroot, '工具箱', '共享', '实施例',...... '验证', 'SRC', '巡航')运行(完整文件(路径, 'slVerificationCruiseStart'))

  2. 从项目,打开模型万博1manbetxsimulinkCruiseErrorAndStandardsExample

运行代码生成器检查

在您从模型生成的代码,有可以采取生成的代码更符合MISRA C与Polyspace更兼容的步骤。这个例子说明了如何使用代码生成顾问生成的代码之前检查你的模型。

  1. 右键点击计算目标速度并选择C / C ++代码>代码生成顾问

  2. 选择代码生成顾问的文件夹。在右窗格中,移动Polyspace选定的目标 - 优先。该MISRA C:2012和指导方针目标已经被选中。

  3. 请点击运行选定检查

    代码生成顾问检查是否有不推荐MISRA C任何块或配置设置:2012合规性和Polyspace代码分析。对于这种模式,不兼容的块检查通过,但也有一些配置设置与MISRA合规性和Polyspace检查不兼容。

  4. 点击检查未通过。接受选择的参数变化修改参数

  5. 重新运行通过选中运行此检查

运行模型顾问检查

在您从模型生成的代码,有可以采取的生成代码,并与MISRA C的标准,并且与Polyspace更兼容的步骤。这个例子说明了如何使用模型顾问生成代码之前检查你的模型。

  1. 在代码生成顾问窗口的底部,选择型号顾问

  2. 在下面按任务文件夹,选择建模标准MISRA C:2012顾问检查。

  3. 请点击运行选定检查和审查结果。

  4. 如果有任何的任务失败,使建议的修改并重新运行检查,直到MISRA建模准则通过。

生成和分析代码

你已经完成了模型的符合性检查后,可以生成代码。随着Polyspace,你可以检查你的代码是否符合MISRA C:2012和生成报告以证明符合MISRA C的遵从:2012。

  1. 在Simuli万博1manbetxnk®编辑,右键单击计算目标速度并选择C / C ++代码>建立这个子系统

  2. 使用默认设置可调参数和选择建立

  3. 生成的代码后,右键单击计算目标速度并选择Polyspace>选项

  4. 点击配置(Polyspace错误查找程序)按钮。此选项允许您选择在Polyspace配置窗口更高级的Polyspace分析选项。

  5. 在同一窗格中,选择计算代码度量。此选项打开你的生成代码的代码度量计算。

  6. 保存并关闭Polyspace配置窗口。

  7. 从你的模型中,右键单击计算目标速度并选择Polyspace>校验>代码生成选定的子系统

    Polyspace Bug的搜索™分析了MISRA检查和缺陷检查的子集所生成的代码。你可以看到在MATLAB命令窗口分析的进展。一旦分析完成后,Polyspace环境中打开。

审查结果

在运行中生成的代码,你Polyspace环境显示了静态代码分析的结果Polyspace分析。

  1. 展开树规则8.7和通过点击不同的结果。

    第8.7条规则规定,功能和对象不应该是全球性的,如果功能或对象是本地的。当你点击通过8.7违规,你可以看到,这些结果是指变量,其他部件也使用,如CruiseOnOff。您可以标注您的代码或模型的每一个成绩证明。但是,由于这种模式是在一个更大的计划的单位,也可以改变分析的配置只检查的MISRA规则的一个子集。

  2. 在模型中,用鼠标右键单击计算目标速度并选择Polyspace>选项

  3. 设置从设置(Polyspace Bug的搜索)选项项目配置。此选项允许你选择的MISRA规则在Polyspace配置的子集。

  4. 点击配置按钮。

  5. 在Polyspace配置窗口中,编码标准和代码度量窗格中,选中该复选框检查MISRA C:2012并从下拉列表中,选择单单元的规则。现在,Polyspace仅检查MISRA C:2012分的规则,适用于单个单元。

  6. 保存并关闭Polyspace配置窗口。

  7. 重新运行使用新的配置分析。

    发现Polyspace以前表明该规则,因为该模型本身进行分析。当你限制Polyspace检查单单元子集合的规则,发现只有两个违规行为。

当此模型与其父模型集成,您可以添加MISRA C的其余部分:2012条规则。

生成报告

为了证明符合MISRA C:2012和报告生成的代码度量,则必须导出你的结果。本节将展示如何生成分析后的报告。如果你想每次运行的分析时间,生成报告,请参阅生成报告

  1. 如果不是已经打开,在Polyspace环境中打开你的结果。

  2. 从工具栏中,选择报告>运行报告

  3. 选择BugFinderSummary作为报告类型。

  4. 请点击运行报告

    该报告将保存在同一文件夹中的结果。

  5. 要打开报告,请选择报告>打开报表

相关话题