浅述基于Klocwork的QT开发环境软件代码审查
2021-02-03陈莹赵玉丽
陈莹 赵玉丽
南京莱斯电子设备有限公司 江苏 南京 210000
引言
QT是面向对象的应用跨平台的C/C++语言工具包,QT应用程序设计方法遵循面向对象的编程方法。编写QT应用程序的主要方法是基于已有的QT类进行编写用户类。它既可以开发GUI程序,也可以开发非GUI程序,比如控制台工具和服务器。QT拥有很多的窗口部件,如按钮、菜单、滚动条和应用程序窗口等,这些窗口部件组合起来可以创建很多种用户界面[1]。
1 背景介绍
QT开发环境能够跨平台运行,目前支持的平台系统有:Linux(32位、64位)(包括中标麒麟平台),MacOSX以及Windows平台。它提供给应用程序开发者建立图形用户界面所需的功能。QT很容易扩展,并且允许真正的组件编程。QT利用signal/slot(信号/槽)机制实现对象之间的通信。signal和slot没有构成一一对应的关系,同一个signal可以连接很多个slot,多个signal也可以与某一个slot相连。虽然signal/slot机制比回调函数的速度缓慢,但缓慢速度并不明显。特别是在嵌入式系统中这些signal和slot使用不多的场合,这种速度上的损失可以忍受,并且该种机制具有简明性和灵活性[2]。开发团队在对应的集成和测试中若能有效发现违反编码规则的问题、软件代码缺陷和存在的安全隐患漏洞,如:内存及资源管理错误、内存泄漏、空指针引用、未初始化的变量、未经验证的用户输入、数组边界采用不可信数据,可以大大降低系统后续风险,同时减少严重经济损失甚至灾难事故的发生概率[3-5]。应用源代码分析工具Klocwork,不需设计测试用例,也不需运行程序,就能够快速检测出Windows、Linux操作系统下C、C++、Java语言代码漏洞、代码设计缺陷,并同时可生成详细、全面的缺陷修复率以及其他关键软件度量的报告。……
