摘要:
随着计算机技术及应用的发展,软件在航天,运输控制系统,电子商务等众多领域被广泛应用,起到越来越重要的作用.因此,软件的可靠性要求也越来越高.当今的软件规模越来越大,复杂度越来越高,人工走查的方式检测代码缺陷已经不仅仅是费时费力的问题,甚至可能是不切实际的.如果能够开发出一个自动化的,且可定制缺陷规则的静态代码检测工具来代替人工走查,将具有很高的实用价值. 本论文针对自动化的,可定制缺陷规则的静态代码检测工具进行研究,主要研究内容包括:首先,'采用词法语法分析技术开发了基于GJB5369-2005编程规范的静态缺陷检测工具(GJB5369);在此基础上,进一步开发出兼具可定制缺陷规则检测的功能的CQL(C Query Language)检测工具,其中的关键技术是利用JavaCC来定义CQL语法,并能通过分析语法节点来实现可定制缺陷规则检测.最后,采用自行开发的静态代码检测工具对GAP,Memfile开源C工程代码进行了缺陷检测,并将检测结果与商用的Klocwork静态代码检测工具进行了对比,验证了自行开发的静态代码检测工具GJB5369和CQL的可靠性.
展开