从用户界面设计和软件开发到质量保证和部署,Qt可提高整个产品开发生命周期的工作效率。查找最符合您需求的解决方案。
获取最新资源,查看即将举办的活动,了解哪些人正在使用Qt进行创新。
丰富的Qt知识触手可及--探索理想的学习资源或参与社区活动。
Axivion Static Code Analysis 根据以下类型分析检测未执行代码:
Axivion Static Code Analysis 通过对被分析软件的调用关系(即过程间控制流)的可达性分析算法来查找失效函数。这些函数永远不会被调用,因此永远不会被执行,因为从系统的程序入口点(例如从主程序、中断处理程序或回调)到这些函数没有连接
通过更深入的程序分析,还可以找到单个函数内静态不可访问且在程序逻辑方面不可访问的代码区域(不可达代码、死代码、不可行路径、不可达语句、冗余捕获块)。相应的编码指南(例如 MISRA 规则)会使用这些分析。一个简单的例子是直接在return语句之后的代码。另一个例子是 else 分支,由于所涉及的条件中的变量值导致永远无法遍历该分支。还可以检测到无限循环
不会被执行的代码仍然需要注意。死代码会使可理解性、可测试性和可维护性变得复杂。因此,应特别注意开发过程中因修改代码而“死亡”的区域。问问自己:
这时,Axivion Static Code Analysis 的增量分析开始发挥作用。这种直接反馈可以精确指导预防性 Bug 修复和低阈值重构。
死代码分析的典型症结在于开发程序库、框架或整个产品系列的开发者:在这些情况下,分析不能局限于单个应用程序。相反,为了进行全面分析,就必须在适当的设置中分析整个应用程序集。因此,根据死代码问题的具体情况,可以通过各种配置选项来指定“活”代码。例如,可以标记 API以便分析时将其视为“活跃”。
通过配置操作系统的调用机制,可以模拟典型用例,以便在分析时相应地考虑接口。
配置选项对于处理中断服务例程和中断处理程序也很有用。处理中断的相应函数已经可以在程序代码级别被标记为活动(关键字interrupt、使用属性)。
防御性编程范式对于开发鲁棒软件非常有意义,但从静态分析的角度来看,通常会产生死代码/不可达代码。通常的安全标准会禁止此类死代码,因为它们经常导致编程错误,然而,这些是您有意保留的代码部分。为此,Axivion Suite 提供了灵活的配置工具,可以在工作流中“有意”适当地标记死代码,并在偏差管理中相应地将其考虑在内。
Qt Group includes The Qt Company Oy and its global subsidiaries and affiliates.