当前位置:问答库>论文摘要

题目:代码与文档间关联关系的提取方法研究和改进

关键词:信息检索;逆向工程;可跟踪性链;关联关系;程序理解;潜在语义

  摘要

软件产品含有大量使用自然语言编写的文档,如需求文档、设计文档、用户手册、测试文档、维护文档、系统日志等。这些文档中包含丰富的专业领域知识,并与程序代码之间存在着不同程度的关联,因此,发现和维护代码与文档间的这种关联关系,将有助于程序理解、软件维护、需求跟踪、变更分析和软件复用等软件工程活动。本文围绕“代码与文档间关联关系的提取方法研究和改进”这一课题,根据北航软件所可信软件结构及代码的审查和综合评估及支持工具的需求,研究了如何结合软件文档和程序代码中的特点来提高检索系统的查全率和查准率。本文调研了国内外相关领域的研究现状,其中重点研究了信息检索模型在提取文档与代码间关联关系中的应用及其优缺点,例如概率模型、向量空间模型和潜在语言检索模型。已有研究成果表明利用信息检索方法虽然可以帮助提取这种关联关系,但都存在查准率低的问题(查全率为70%的时候,其查准率只有30%),本文认为其主要原因在于将程序代码和软件文档都当作一般的文本进行处理,没有考虑它们的特性。为此,本文总结了软件文档和程序代码各自的结构特征和相互的内在关联特性,并参考信息检索和需求跟踪中的各种改进方法,提出了5种改进策略,分别是基于类继承关系的代码聚类、代码特征项分类加权、相似度辞典的引入,代码缩写词扩展以及基于文档类型的分类搜索。并且使用这5中策略对潜在语义检索模型进行改进,实现了一个原型系统。最后,通过3个数据集进行实验分析。结果表明,在提取代码与文档间关联关系时,5种策略可以单独提高查全率和查准率5%及以上;同时使用5种策略进行改进时,可提高查准率10%~15%,提高查全率8%~19%。因此,在提取代码与文档间关联关系时,充分考虑它们的特点和特性,将有助于提高检索系统的查询能力。