不提高代码质量而不执行代码

静态代码分析或静态分析是一种软件验证活动,可以在不执行代码的情况下分析质量,可靠性和安全性的源代码。使用静态分析,您可以识别可能损害应用程序安全性和安全性的缺陷和安全漏洞。静态分析可以是一种经济高效的方法来测量和跟踪软件质量指标,而无需写入测试用例的开销或仪表代码。

为什么运行静态代码分析?

大多数软件开发团队依靠动态测试技术来检测软件中的bug和运行时错误。动态测试要求工程师编写和执行大量的测试用例。由于动态测试不是详尽无遗的,因此不能仅依靠它来生产安全可靠的软件。

以这个非常简单的例子为例:

速度函数在第14行上的分割零零,可能导致零星运行时出错。为了使归零地确定划分永远不会发生,您需要使用所有可能的变量值测试函数输入

静态代码分析补充了动态测试的优点:

  • 错误检测。您可以识别与并发性、受污染的数据、数据流、安全性以及静态和动态内存相关的数百类错误。发现的一些bug几乎不可能通过动态测试检测到。
  • 低成本。您可以轻松地自动执行静态代码分析,并且不会产生编写测试用例、插装代码或执行程序的开销。
  • 遵守编码标准。您可以验证您的代码是否符合Misra C等编码标准®/ c ++或JSF ++,具有安全标准,如CWE,CERT C / C ++和ISO / IEC 17961,或网络安全指南。
  • 证明没有关键的运行时错误。静态代码分析工具可以证明软件不会因为严重的运行时错误而失败。达到这种复杂程度的工具可以使用正式方法为代码证明应用理论科学基础。

谁应该运行静态代码分析,为什么?

  • 软件开发人员。最佳实践建议在编写代码时立即检查错误和编码标准。在开发过程早期检测到的错误更容易调试和修复。
  • 软件测试人员。在集成了应用程序代码之后,建议对集成代码进行深入的静态代码分析,以发现缺陷并证明没有关键的运行时错误。
  • 项目经理和质量保证领导。静态代码分析工具产生代码质量度量,可以用来监控软件质量、项目状态、缺陷数量和质量趋势。

如何选择静态代码分析仪

您可以使用多种工具来执行静态代码分析,例如Polyspace®下载188bet金宝搏产品。在选择静态代码分析工具时,请考虑以下问题:

  • 它是否支持您的行金宝app业标准?
    遵守标准对于最小化软件错误造成的财务损失、人身伤害或财产和环境损害的风险非常重要。不同的行业定义了自己的安全标准——例如,ISO 26262用于汽车,DO-178用于航空航天,IEC 62304用于医疗设备。
  • 分析结果是多么可靠和可操作的?
    静态代码分析可以使用广泛的技术,这些技术提供了不同程度的可靠性和精确度。例如,抽象解释是一种正式的方法,被认为是正确的,因为它从不产生假阴性。
  • 该工具是否为修复bug提供了见解和指导?
    通常无法检测到错误是不够的。开发人员需要更多信息来浏览代码的结构,并找到错误的根本原因。呼叫层次结构,变量值,上下文相关帮助等信息提高了解决复杂问题的能力。
  • 该工具是否提供合作审查?
    一些静态代码分析工具提供了在软件开发团队中轻松共享分析结果和质量指标的功能 - 例如,通过在线平台。这种能力使团队能够执行协作评论,分类和解决缺陷。
  • 该工具能否与现有的软件开发过程集成?
    一个有效的静态代码分析工具必须能够与不同的软件开发过程集成,包括更新的过程,如持续整合和连续交货(CI / CD),DEVOPS和DEVSECOPS。该工具应提供丰富的API和插件,以与IDE(例如,Eclipse™和Microsoft等软件开发工具集成®Visual Studio®代码),CI工具(例如,Jenkins™和竹子®)和bug跟踪工具(例如,Jira和Redmine)。
  • 该工具是否适用于公共和私有云?
    在公共和私有云基础架构上开发软件,如亚马逊®AWS®和微软alzure.®正在迅速普及。云为开发团队提供了敏捷性、可伸缩性、高可用性和全局访问。在评估静态分析工具时,重要的是确保工具是现成的,也就是说,它们可以在云平台上部署并与软件开发流程集成。了解更多

为什么选择PolySpace产品?下载188bet金宝搏

Polyspace®静态代码分析产品使用正式的方法来证明在所有下载188bet金宝搏可能的控制流和数据流下没有关键的运行时错误。Polyspace产品系列包括:

  • Polyspace Bug Finder.下载188bet金宝搏产品检查C/ c++源代码是否违反编码标准,发现几种类型的bug,检测安全漏洞,并计算质量度量,如代码复杂性度量。
  • Polyspace代码验证下载188bet金宝搏产品使用正式方法来证明在不执行代码的情况下在C / C ++源代码中缺少关键运行时误差。
  • Polyspace产下载188bet金宝搏品为Ada证明ADA源代码中没有运行时错误。

PolySpace产下载188bet金宝搏品提供了上一节中列出的优点和功能,例如错误检测,符合编码标准,以及证明缺乏关键运行时误差的能力。例如,对于上面所示的代码片段,PolySpace代码箴言可以分析功能速度的所有代码路径,以防止所有可能的输入,以证明该分割零零。它在不执行代码的情况下这样做。结果表明,该划分在线14的绿色标志,表明该操作对所有输入都安全,不会导致运行时错误。

使用Polyspace代码验证器进行零除法检查。

参见:光电产品静态分析下载188bet金宝搏,验证、验证和测试,嵌入式系统,抽象解释,代码评论,圈复杂度,正式方法,软件度量,软件QA.,软件质量目标,源代码分析,静态代码分析,静态代码分析视频

7种方式,使嵌入式软件安全安全安全