嵌入式软件开发:缺陷管理与质量保障
在嵌入式软件开发的世界里,确保软件质量是一项至关重要的任务。这涉及到多个方面,包括编译器警告处理、同行评审、测试以及问题跟踪与分析等。下面我们将详细探讨这些关键环节。
编译器警告与静态检查
编译器在处理源代码时,会产生警告和错误两种消息。错误是由源代码中的缺陷导致的,这些缺陷使得代码无法编译,必须修复才能让程序运行。而警告则是编译器认为有问题,但不影响生成可执行程序的情况。
静态检查的重要性
忽视编译器警告会增加软件出现漏洞的风险。因为一个产生警告的程序往往不会按预期运行。并非所有编译器都擅长生成警告,桌面系统的编译器通常在这方面做得比较全面,而小型微控制器的编译器则可能会遗漏许多与软件漏洞相关的潜在警告。幸运的是,有一些工具可以填补这个空白,如静态检查器(有时也称为lint工具)或静态分析工具。
以下是一些可能出现的症状:
- 编译代码时产生警告,即使你认为这些警告是误报。
- 编译器警告被关闭,因为它们被视为无用或烦人。
- 没有使用强大的桌面编译器、类似Lint的工具或其他静态检查器来查找额外的警告消息。
- 没有特别努力去评估所使用的嵌入式编译器是否擅长生成警告消息。
如果不进行静态检查,可能会错过一些本可以发现的缺陷,例如:
- 因“愚蠢”错误导致的漏洞,一个好的编译器本可以发现这些错误。
- 由于语言规范中的歧义导致的漏洞,这些漏洞可能会使程序在不同平台和编译器上的运行情况不同。
- 因冒险使用语言特性而产生的漏洞,这些特性可能(或可能不)表明存在漏洞。
- 由于认为许多警告是正常的,而在大
超级会员免费看
订阅专栏 解锁全文
478

被折叠的 条评论
为什么被折叠?



