赛迪网 > 新闻中心 > 软件 > 文章

源代码分析让开发变得更敏捷 提高软件质量 (1)

发布时间:2009.03.20 17:40      来源:赛迪网     作者:赛迪网

【赛迪网讯】软件质量保证正在越来越被人们所重视,由于软件质量问题,可能会导致严重经济损失甚至灾难事故的发生。源代码分析技术是通过分析源代码发现其中存在的代码缺陷的技术,是提高软件质量最有效的手段之一。源代码分析技术已经有20多年的发展历程,它不需设计测试用例,不需运行程序,因此被广泛应用于各行各业。

2009年3月19日,源代码分析领域的先驱——美国Klocwork公司在北京裕龙国际酒店会议厅举办Klocwork源代码分析最佳实践研讨会。研讨会以“源代码分析让开发变得更敏捷”为主题,围绕源代码分析的作用以及如何将源代码分析融入开发流程展开研讨。会议现场, Klocwork公司的高级技术专家Mark Grice先生详细介绍了源代码分析技术的发展,并结合具体技术案例讲解在敏捷开发过程中,为什么以及如何利用源代码分析技术实现效益最大化,Mark先生还讲解了如何借助持续集成的思想实现第一时间发现并消除代码缺陷的策略。

敏捷的前提是编写无缺陷代码

敏捷宣言中有一条重要原则:首要的进度测量标准是可正常运行的软件。可正常运行的软件是指软件没有下列问题:无法顺利构建、不可预期的行为、不满足产品需求及常见的编程缺陷。这一原则不只适用于敏捷方法,很多软件开发过程,包括CMMI和六西格玛等严格的开发模型,均提倡把编写无缺陷的代码作为基本原则。这些过程都采取阶段内的缺陷控制措施(防止缺陷从引入阶段泄漏到后续阶段)。敏捷开发过程的迭代周期短,因此,必须保证能迅速识别并纠正潜在的软件缺陷,才能进入下一次迭代。

尽管敏捷开发团队普遍采用了持续集成和回归测试方法,可以有效地发现导致构建过程或回归测试异常中断的缺陷,但在清除如下几类常见的编程缺陷时效果并不明显:内存及资源管理错误、空指针问题、未初始化变量、程序数据管理问题、缓冲区溢出、数组越界、未经验证的用户输入、存在安全漏洞的代码、并发异常以及复杂、费时的维护性问题。缺陷多的代码会导致本次迭代或者后续迭代产生风险,形成迭代不彻底或者延期。

以工具助推敏捷的理想

虽然敏捷宣言中的 “个人和交流胜于过程和工具” 原则看似并不强调工具的作用,但敏捷开发团队仍然要用很多工具来支撑——包括软件配置管理工具、构建管理工具、需求跟踪工具、测试工具、项目管理工具及其他工具。

敏捷开发团队使用的大部分测试工具都将重点放在功能测试、单元测试以及构建的质量控制上,而不太强调通过审查源代码来识别非功能性的错误,比如编程错误。这是由于以前发现这些缺陷的方法太繁琐,敏捷团队也没有时间做冗长的代码审查,更不愿意为了发现一个内存泄露缺陷而进行数天的审查。即使是像单元测试这种在敏捷开发中不可缺少的测试,也需要创建和管理测试用例才能帮助开发人员查找缺陷。

无缺陷的代码则可保证开发的进度及敏捷性。为实施阶段内缺陷控制,编写无缺陷代码,需要制定一套解决方案,使开发人员能控制缺陷的发现和清除过程,增强开发人员间的协作,以尽早消除缺陷。

Klocwork Insight是行业领先的源代码分析工具,全面支持各类编码缺陷的检查,开发人员可以控制分析的过程,还能在无需进行后续审查的情况下,获得集中式分析的准确度和效果。Klocwork Insight支持敏捷开发的主要原则,提供下面的特殊功能:

1 2 下一页>>
[发表评论][打印][进入博客][进入论坛][推荐给朋友]

更多>>