使用条件复杂度福建省体彩网嵌入式软件

工程师似乎难以解决的嵌入式软件开发领域之一就是福建省体彩网。工程师通常会对设计和实施阶段感到兴奋,但是当要证明系统正常工作时,工作和/或兴趣确实开始减弱。考虑到可能需要的时间和精力,这是完全可以理解的。有多种福建省体彩网嵌入式系统的方法,但它们可以归结为两种主要的福建省体彩网类型:白盒福建省体彩网和黑盒福建省体彩网。

黑匣子福建省体彩网通常由第三方或质量保证小组执行,他们了解外部系统的行为要求,但对代码的内部结构或操作缺乏深入的了解。另一方面,由于嵌入式软件工程师了解软件的结构和实现,因此他们更有可能执行白盒福建省体彩网。在这种类型的福建省体彩网中,工程师会考虑软件结构,以确保每个分支,每个案例和每行代码都已通过福建省体彩网执行和验证。

即使是相对较小的程序,这也可能是一项艰巨的任务。值得庆幸的是,有一种简单的方法可以理解和生成确保适当的福建省体彩网覆盖范围所需的福建省体彩网用例数量,即使用条件复杂度,也称为循环复杂度(这是在对话中使用的好术语,如果您想看看人们的眼睛凝视着)。传统上,建议在实施阶段进行条件复杂度度量福建省体彩网,以确保代码质量。想法是分析程序中的每个函数并提供结果复杂度值。值越高,功能越复杂,从而导致错误,福建省体彩网和维护困难的风险更高。典型范围可在下面的图1中找到。

图1 图1 –条件复杂性风险

这种测量真正有趣的是,它直接测量通过函数的线性独立路径的数量!复杂度值提供了完整分支覆盖范围所需的福建省体彩网用例数量的上限!这意味着通过对源代码执行此简单的度量检查,不仅有助于确保代码保持简单,而且还可以用于检查是否已为分支覆盖福建省体彩网定义了足够的福建省体彩网用例!

现在想到的问题是,我们如何使用这个复杂性值来创建福建省体彩网用例?答案在于如何首先计算条件复杂度。有两种解决方法。第一种是简单地将ifs的数量,循环的数量相加并加一个。第二个是生成控制流程图,标识边,节点和连接的组件的数量,然后从边缘减去节点的数量,然后添加连接的组件。由于这比简单地查看源代码要复杂得多,因此第一种方法要容易得多,并且更有可能在开发周期内完成。为了说明这一点,请看一下图2中列出的函数。

图2

图2 –示例函数清单

这是一个简单的PWM初始化函数,它接受指向配置表的指针并循环访问配置表并相应地设置PWM寄存器。它包含一个for循环和两个if语句。人们会期望复杂度指标为1 + 1 + 2 = 4。可以使用自动福建省体彩网工具轻松地对此进行验证,该工具将报告结果,如图3所示。此功能的开发人员现在将知道需要四个福建省体彩网用例才能正确福建省体彩网所有分支。

图3

图3 –条件复杂度分析

第一个也是最明显的福建省体彩网案例是福建省体彩网for循环。由于该配置将修改每个PWM模块的寄存器,因此监视每个寄存器的更改将表明确实正在执行for循环。接下来,可以为PWM使能条件设置福建省体彩网用例。该福建省体彩网用例可以只是验证是否已启用任何配置为启用的PWM通道。将创建最后两个福建省体彩网用例,以验证中断启用和中断禁用是否按预期工作。在所有这些情况下,这种低水平的福建省体彩网用例将需要验证模块中的相应寄存器是否已正确设置。

在福建省体彩网基础上执行福建省体彩网的类型和方式有很多,使用条件复杂度只是如何执行福建省体彩网的一个简单示例。福建省体彩网通常不仅需要简单的分支福建省体彩网,还需要对实现和系统行为要求的多层进行福建省体彩网。无论如何,至少要根据在开发周期中使用的代码度量标准创建福建省体彩网,这是一个不错的起点。

2 thoughts 上 “使用条件复杂度福建省体彩网嵌入式软件”

    1. 您可以从静态分析器的报告中获取这些类型。我使用多年的那个是来自Msquared Technologies的RSM。希望对您有所帮助!

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.