使用代码评审工具的最佳实践

代码评审是一个系统的过程,用于检查软件源代码,以识别问题和改进软件质量。它是批判性发展的一项重要任务嵌入式系统特别是那些需要认证的。

代码评审团队通常由管理员、质量工程师或经理、软件开发人员和其他人员组成。团队经常使用检查表系统地检查软件的所有相关方面。例如,团队可能评估代码的复杂性,并检查是否符合编码标准,如MISRA-C/ c++或JSF++。

一个有效的代码审查应该集中在设计方面,比如满足设计需求,识别缺失的需求,设计架构,接口设计等等。专注于扫描代码以寻找缺陷的代码评审是非常无效的,因为检测是很微妙的运行时错误甚至简单的编码的缺陷非常具有挑战性。例如,由于涉及编程控制的复杂数学操作,很容易忽略溢出或下溢。Polyspace等静态分析工具有助于在代码审查过程之前自动化并简化这些活动。

最简单的用例这样的工具是检查你是否符合代码编码标准,如MISRA,JSF或定义的编码规则,自己的自定义。编码规则有助于维持编码风格的一致性,提高了代码的可读性和可维护性。

此外,Polyspace工具不仅可以检测缺陷但也要证明源代码中没有错误,避免花大量时间扫描代码的安全部分。更重要的是,甚至在您花时间检查代码之前,您就可以识别和/或修复一些缺陷。这不仅节省了时间,而且帮助评审团队关注重要的方面,例如软件设计和需求。

自动分析无法发现这些算法的功能问题,而这种高级分析需要人类的大脑。然而,自动分析在扫描代码以识别缺陷(如编程错误、编码错误或运行时错误等)方面是非常经济有效的。

此外,Polyspace工具还提供了有关的详细信息控制和数据流通过以可能的变量范围和函数调用图和数据字典的形式显示代码,以显示变量是如何写入和从哪里写入的。这些信息在代码评审中是非常宝贵的,在代码评审中,理解软件的运行时行为是非常重要的。

这个过程是非常可伸缩的,您可以在任何地方分析从几百行代码到超过十万行的代码。在代码评审过程中,可以将分析生成的报告用作工件,以确定代码的哪些部分被证明是安全的,哪些部分有失败的风险。

参见:统计分析与多空间产品s manbetx 845,验证、确认和测试,嵌入式系统,形式化方法,抽象的解释,源代码分析,软件质量保证,代码评审的视频