市场领先的QAC是为在项目编码阶段的工程师设计的,以确保开发高质量的C代码。QA.C也可以在开发过程的任何阶段用于减少代码bug,并且快速、自动执行、易用、可用于任何规模的开发环境。
QAC提供了高效的、稳定的、完全自动化的环境创建和执行编码规范。QAC快速有效的检测和报告软件的缺陷、语言执行错误、冲突、危险用法和编码规范错误,防止错误进入产品导致开发延期。QAC能够监视和限制复杂度,开发可测试和可维护代码。QAC可以报告代码对特定的编程规范的符合程度。
主要功能
-发现软件的bug和缺陷,以及不符合规范的问题
-发现使用危险、过于复杂和不可移植代码引起的问题
-提供一个高效的、稳定的和自动化的环境,检查和强化客户的编程规范
-发现编译器和其它工具不能发现的问题
-集成高级的消息抑制和增强分析的工具
-集成诊断工具和容易理解的代码度量可视化报告
QAC检查的范围例子
未定义的行为
QAC检测众所周知的未定义行为——空指针释放、除零、缓存溢出——以及其他罕见领域。QAC的数据流引擎提供变量的数值分析以检测未定义的行为。
约束错误
语言的误用——检查159个语法正确但是语义错误的代码问题。QAC能够检测的范围从众所周知的编译问题到通过了编译的其他问题。
模块交互分析
QAC发现未定义的行为,比如使用外部链接时对象/函数重复定义,链接器不能检查的申明冲突。
可移植性
对于所有需要在交叉编译器和平台上执行的代码,执行定义的一致的限制和扩展申明都是很重要的。
转换
QAC在任何有数据类型转换的地方进行检测,比如分配、比较、整值提升、默认参数提升或者函数返回值。
冗余
QAC在所有结果恒定的地方检测没有使用的变量、函数、参数和条件语句。
语句和运算
QAC检测可疑的比较和指针运算,包括不正确的类型使用,以及合法但是难以理解而导致维护困难的程序结构。
标识
QAC强化指定格式的命名习惯。检测所有链接、范围、时间和类型的标识种类。
QAC的分析和报告功能
QAC强大的消息浏览器描述了文本驱动的环境,链接了丰富的知识仓。QAC说明了为什么它发现的问题需要修正,并提供了详细的例子演示如何修正。
度量和可视化
-基于项目的
-基于文件的
-基于函数的
-用户自定义的矩阵
-使用Kiviat图的图形化度量分析
-度量阀值警告
总结报告
可配置的PDF报告
-符合性
-质量
-代码审查
-抑制
文本报告
-警告总结
-警告列表
产品关键功能
-交互式的消息浏览器
-源码理解工具
-浏览器关联
-函数结构图
-度量浏览器
-在线帮助和知识仓
-上下文关联消息
-指定的编码规范
-概要和详细的报告
-IDE集成
-超过1300个可选的消息
-指定的C语言分析引擎
-交叉模块分析(链接时检查)
-语义错误检查
-数据流错误检查
-Bug捕捉配置
-紧密的命名分析
-基于注释的抑制
-抑制审查
-渐增的分析
-对项目的大小和规模没有限制
-FLEXLm许可管理
-扩展的编译器支持
-自动的编译器配置器
-IDE和编译系统集成
-Microsoft Visual Studio
-Eclipse CDT
-Windriver Tornado&Workbench
-Rhapsody
-VectorCAST
-Makefile Integration
-Custom Integrations
-支持MISRA-C 1998
-支持MISRA-C 2004
-支持HIC
MISRA-C合规性分析包
MISRA C强制性
MISRA-C规范格式是C语言为开发安全关键系统和其他嵌入式应用而设定的一系列限制和安全子集。
Perforce公司参与设计的最初来源于福特和路虎的编码规范,MISRA-C 1998和MISRA-C 2004编码规范,在汽车工业得到了广泛的应用。由于在安全关键领域得到了成功的应用,MISRA-C现在已经扩展到了许多工业领域,已经成了事实上的C语言编码规范标准。
主要功能:
-QAC完全支持对MISRA-C的合规性检查
-最全面地执行MISRA-C 1998和MISRA-C 2004的编码标准
-根据客户项目进行配置
MISRA C 遵从模型
Perforce公司是世界领先的编码规范检查和基于语言的静态分析工具商,提供了工业领先的QAC分析工具遵从模型,增强MISRA-C编码规范检查。QA.MISRA C延续了在高可靠编程规范方面的优异性能。
MISRA-C的特点:
-消除未定义的行为
-消除或减少执行定义的行为
-为审查和维护提高透明度
-为项目提供一致的编码风格
-避免常见的编程错误
-帮助形成好的习惯,特别是在“远景规划”方面
MISRA C符合性检查
使用Helix QAC的消息浏览器,在线帮助和特定的MISRA C消息,开发人员可以快速设计符合MISRA-C标准的代码。提供各种不同的输出报告,内容包括报告、检查和验证对MISRA标准的符合程度。