俄罗斯科学家研制出程序代码错误检测器
俄罗斯科学院系统编程研究所开发的一款新软件最近被收录进俄罗斯国产软件统一名册。这款名为SharpChecker的软件是C#语言程序静态分析平台,用于查找程序代码中的错误。俄研发人员认为,该软件具有高效的特点,比国际市场上的同类产品(如:美国Synopsys公司研制的Coverity、美国Rogue Wave公司推出的Klocwork、惠普公司研制的Fortify、以色列Checkmarx公司研制的软件)更具竞争力。
程序代码由人编写,即使水平再高的专家也会出错,在开发安全软件时使用代码分析工具很有必要。由数百万行代码组成的软件,实际上不可能手工检查有无诸如资料和存储流失、解除空值、属性使用不当、操作平行重复错误等各种错误。SharpChecker可以部分地弥补人的缺陷,该软件不仅有代码分析器,而且还有用于软件研制的可用工具,能够让程序员纠正编制中的错误,还可以给他们领导提供一个真实反映软件编制质量的动态指标。
该所从2002年起就开展了静态分析技术的基础研究。15年来,在这一领域取得了一定的成绩,特别是研制了Svace分析器,该软件能够找到在C/C++语言程序的源代码中出现的错误和潜在漏洞。其特点是:使用简单、报警的支持类型宽、可扩展到数百万行代码、可以接受的分析质量报警真实度达到30-80%。该产品被三星公司用作静态分析的主要手段,查找Android操作系统、三星自带应用程序和Tizen操作系统源代码中的错误。2015年SharpChecker作为Svace工具的一部分就已经在三星公司开始应用。
SharpChecker被列入俄罗斯软件统一名册引起购买软件或从事软件产品开发的国家政府机关和国有企业的高度重视,但研究人员亦称,SharpChecker不是防止代码错误的法宝,不能代替其它软件测试和查错方法。作为补充工具,它能够纠正早期出现的错误,显著降低软件研发总成本,高效地完成研制工作。