论文部分内容阅读
随着软件产业的快速发展,软件技术被广泛地使用在人们的生活中。同时软件的产量和规模也在不断地增加,软件生产人员需要面对越来越大的代码量,尤其对于那些需要阅读理解代码的软件测试人员、参与迭代开发的开发人员。因此,一个专业的代码阅读辅助工具显得尤为重要,其既可以帮助人们阅读理解代码,也可以记录测试数据。本课题来源于综合管理系统中的子项目——C/C++代码审查辅助工具,此综合管理系统集成了办公室管理和软件测试管理的功能。本文首先基于C/C++语言的语法特性设计C/C++程序解析器,以便工具可以自动进行程序解析,获得语法分析树。这部分包括词法和语法分析器的设计,使其在保留原有功能的基础上,也能满足测试人员的需求,如在程序解析阶段,收集可能存在的代码审查数据,统计被测程序的注释率和代码规模。本文后续完成了代码管理模块的设计,该模块的功能能帮助测试人员分析程序结构,并提高内存使用率。此部分基于语法分析树收集各模块或各函数之间的关系构建索引,并持久化保存,使得后续操作可以通过索引器得到这些关系信息。同时利用软件可视化技术,以图形的方式描述这些关系。最后,为方便测试人员使用,本文设计了代码阅读模块。此部分交互处理解析器、索引器与用户的需求,用户可以通过此部分的功能获得程序解析信息,使用索引查询信息,或是修改审查数据等。程序分析、代码管理和代码阅读彼此依赖,程序解析和索引器是代码阅读的数据源泉。代码阅读模块基于Eclipse开发环境提供的富客户机平台(Rich Client Platform,RCP)和图形化编辑框架(Graphical Editing Framework,GEF)技术,显示代码的解析信息,实现所需要的功能。在2014年1月发布C/C++代码审查辅助工具的第一个版本,并交由测试人员试用,根据使用人员的反馈信息,此工具明显地减少了软件测试人员的工作,提高了审查效率,但部分功能仍然需要改进。