Coverity推出新一代开发测试平台

通常,软件开发测试都包括设计、开发、质量检测以及软件发布等几个阶段,软件测试的目的是要保证产品的质量和安全性,因此需要同时关注流程和技术,只有保证技术的智能性、可实施性和集成性,才能实现测试结果的可预测性及可行性。软件漏洞发现的阶段越靠后,所耗费的成本就越高。但在今天,软件正变得更为复杂,传统的测试方法已经远远不够。

10月9日,Coverity公司发布新一代Coverity Development Testing Platform开发测试平台,该平台集成了测试技术,用于识别、修复开发阶段关键质量和安全问题。

据Coverity亚太区运营副总裁Rich Cerruto介绍,Coverity开发测试平台包括三个产品,其中Quality Advisor解决程序崩溃、内存泄露以及数据损坏等问题,而当天发布的Security Advisor解决代码中的安全缺陷,Test Advisor 则帮助开发者重点关注高风险代码。这三款产品建立在Coverity现有的专利技术“SAVE”基础之上,有助于准确分析软件源代码,三种产品都使用 “Coverity Connect”用户界面和工作流工具,以便在整个开发团队中共享并管理缺陷数据。在此之上还有Policy Manager,用于定义和测量质量和性能指标,能展示风险最高的代码组件以及需要在哪些地方努力降低风险。

传统的安全漏洞测试方法通常需要执行源代码检测,而这种代码检测通常在软件开发后期才能实施,因此会存在以下问题:产品发布延迟,缩短开发者解决漏洞的时间,如果代码发生变化,还需要重新进行安全测试,导致进一步延迟。

融合了创新静态分析技术的Coverity Security Advisor,能帮助开发团队高效解决Java网络应用的安全缺陷。该产品是Coverity研发团队与Coverity安全研究实验室紧密合作的成果,融合了Coverity在缺陷侦测检测领域的专利技术——精确的可扩展技术。它包含三个组件:Enterprise Framework Analyzer、Dataflow Engine和 Remediation Engine。

“我们理解开发——这是Coverity的核心优势,”Coverity CEO Anthony Bettencourt表示,“大约有75%的安全袭击都发生在应用层面,因此在开发阶段解决应用安全问题至关重要。”

谈到当天发布的第二款产品Test Advisor,Rich Cerruto表示,Coverity的最新创新技术——Coverity Test Advisor是一项正在申请专利的变更影响分析技术,它重点关注高危代码单元测试,包括变更代码以及变更对代码所造成的影响、修改单元测试没有遍历的开发者代码。

Test Advisor能够帮助开发者在开发过程中提供测试效率。研究发现,在传统测试方法下,开发者会在开发阶段花费大约50%的时间进行测试,但只能找到 30%的漏洞,因此大约有70%的漏洞会滞留到后续阶段。传统测试方法低效的主要原因是:在开发阶段会有很多遗留代码和调试代码。遗留代码通常使用过很长时间,bug基本已经被找出,因此风险很小。而调试代码只有在测试时才会使用,所以对源代码的功能影响也非常小。传统测试通常会随机检测所有代码,而高风险代码很有可能被漏掉。

Test Advisor的工作原理可归纳为四个步骤:定义高风险代码;分析代码,包括源控制信息,代码覆盖信息和静态分析信息;通过高风险区域解决测试缺乏问题;明确开发人员权责。