代码审查

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

代码评审是一个系统化的过程,用于检查软件源代码以发现问题并改进代码软件质量. 这是发展关键技术的一项重要任务嵌入式系统,尤其是那些需要认证的。

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

有效的代码审查应侧重于设计方面,如满足设计要求、识别缺失的需求、设计架构、接口设计等。侧重于扫描代码缺陷的代码审查效率很低,因为检测到细微的缺陷运行错误甚至很简单编码缺陷这可能极具挑战性。例如,由于涉及编程控制的复杂数学运算,很容易错过溢出或下溢。静态分析工具(如Polyspace)有助于在代码审查过程之前自动化和简化这些活动。

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

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

自动化分析根本无法揭示这些算法功能问题,而这种高级分析需要人脑。但是,自动分析在扫描代码以识别缺陷(如编程错误、编码缺陷或运行时错误等)时非常经济高效。

此外,Polyspace工具还提供了有关控制和数据流以可能的变量范围、函数调用图和数据字典的形式,通过您的代码来显示变量的写入和读取方式以及位置。在代码评审中,这些信息是非常宝贵的,在代码评审中,了解软件的运行时行为可能很重要。

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

另见:Polyspace产品的统计分析s manbetx 845,验证、确认和测试,嵌入式系统,正式的方法,抽象解释,源代码分析,软件质量保证,代码审查视频