论文部分内容阅读
近年来,软件规模不断扩大,软件行业已经从一项最初依赖个人编码能力的技术领域演化成一个越来越复杂和精密的系统工程。在软件工程应用中,软件产品作为最终项目的产物,往往被给予非常高的监控和关注,不但要保证最终产品的质量,而且要保证频繁提交下,软件的可靠性以及安全性。为了提高软件质量,最有效的方法就是控制代码发生错误的可能性,减少潜在缺陷。代码分析在软件生命周期中具有非常重要的地位,通过代码分析能够进一步提高软件的可靠性。操作人员通过人工分析或者运行代码编译工具,能够非常快速检查到代码中是否有问题,该方法误报率较高,浪费时间。通过代码静态分析能够探查软件存在的大量潜在缺陷,并且对代码进行完整的检查,从而提高项目效率和代码质量。本文研究如何实现自动化代码静态分析平台,主要工作内容包括:1.从代码静态分析理论入手,对比不同的代码静态分析方法,选用Klocwork源代码分析工具与Testbed代码分析工具集成;应用非常普遍的Web应用框架和持久化框架,对自动化驱动系统进行分析,分析开源工具在CruiseControl的配置,介绍了版本配置管理、持续集成等相关的技术,最后编码实现平台的功能模块。2.平台实现对参与项目的管理,以图形分析的形式展示给项目参与人员,极大程度增加项目的进度的可控性。通过建立自动化的代码静态分析检查,能够在软件开发编码阶段实现源代码的规范管理,全天频繁的提交被测代码,便于项目管理,并且节省项目资源。3.平台实现持续集成思想下代码检测过程,能够持续不断的完成测试,提高项目测试效率,极大地提高代码质量;平台提供了可依据被测项目定制不同的规则,使测试更加全面,增大发现问题的概率。系统通过代码静态分析和持续集成的分析与研究,按照多种分析工具组合的方法,自动实现代码从交付初始的检测,将代码自动分析并生成报告,最终以邮件的形式发送给开发人员。通过平台自动化的检测,释放更多的人力物力,节约成本,同时保持流程的规范和标准,实现检测代码的正确性,达到自动化测试的目的。不断的反馈机制,有效帮助开发人员及时发现并解决代码缺陷,大大提高开发团队、测试团队后期的评审、测试甚至维护的效率。