节点文献
面向行为主题的软件特征定位方法
【作者】 何云;
【作者基本信息】 云南大学 , 系统分析与集成, 2015, 硕士
【摘要】 当开发人员进行软件维护工作时,纠正或完善软件的某个或某些功能,需要对软件的源代码实体进行修改,必须先定位该功能在源代码中的位置,这个过程称为特征定位。随着软件规模的日益增长,软件演化效应日益凸显,带来软件文档结构的混乱以及软件源代码结构的退化,都为软件的特征定位工作带来了极大困难。软件特征定位是成功实施软件演化意图的前提条件,有效的特征定位方法对软件维护工作的开展和软件演化过程的研究都具有重要意义。当前软件特征定位方法可以分为四类:动态特征定位方法、静态特征定位方法、文本特征定位方法和混合特征定位方法。针对当前特征定位方法准确率低、定位空间庞大和自动化程度不高等问题,本文提出了面向行为主题的混合特征定位方法。该方法将软件系统的行为知识和主题知识进行有机整合,实现了行为知识对主题知识的约简,并最终通过分析主题知识与软件功能属性间的相似性实现特征定位。论文主要工作如下:第一,以动态特征定位方法和文本特征定位方法为基础,提出面向软件行为主题的特征定位方法。该方法是一种基于动态和文本混合方法,通过对软件的动态行为和源代码的文本主题分析进行特征定位。第二,动态分析过程将执行迹作为软件的行为信息表述,使用监视测试用例执行的方式获取执行迹信息。文本分析过程以动态分析获得的结果为基础,对源代码使用潜在语义索引(Latent Semantic Index,LSI)建立文本索引,最后通过查询的方式获取最终特征定位结果。第三,使用jEdit4.3作为基准数据集,通过实验将本文方法与传统基于文本的特征定位方法进行对比实验,验证了本文方法的有效性。第四,通过实验验证了两个问题:预处理的必要性和将文本聚类算法应用于特征定位中的可能性。总之,本文基于软件的行为知识和主题知识,提出了一种可在低程序理解要求、低开销的前提下进行精确特征定位的方法。
【Abstract】 When the developers of software are doing maintenance work, they need to modify or improve some functions. Before this, they need to find out the source codes which were relation to these functions and need to be rewrite. This process is called feature location. The growing scale of software and the processing of software evolution make the software documents become chaos and the structure of the software become degradation. All of these have brought great difficulties for the feature location.Feature location is one of the prerequisites for the sooth realization of software evolution intent, and has great meaning for software maintenance and software evolution research. The feature location method can be divided into four categories: dynamic, static, text and hybrid. There are some problems in current location method, such as low precision, huge location space and low automatic degree. For these problems, this paper proposed a feature location method based on behavior knowledge and topic knowledge. It combined the behavior knowledge with topic knowledge to reduce the state space of feature location, then realized the feature location by analysis the similarity between topic knowledge and software function attributes. The main works of this research as follows:First, proposed the behavior and topic oriented software feature location method based on the dynamic and text feature location method. It is a hybrid method, and can locate the features by analyzing the software’s dynamic behavior and text topic.Second, the dynamic analysis processing use the execution traces as the expression of the software. The text analysis processing build an index for the source codes by the latent semantic indexing and based on the dynamic analysis result. And user can locate the features by querying in the index.Third, using the source code of jEdit4.3as the benchmark for comparison in the experiment. The experiment validates the proposed method.Fourth, have discussed another two experimental questions:the necessity of preprocessing and the possibility of applying text clustering algorithm to feature location.In Summary, a precision feature location method which has low program understanding requirements and low labor cost based on behavior knowledge and topic knowledge is proposed.
【Key words】 Feature location; Software evolution; Behavior knowledge; Topicknowledge;