【技术实现步骤摘要】
一种基于相关主题模型的程序理解和特征定位方法
本专利技术涉及一种软件开发维护方法,特别涉及一种程序理解及特征定位方法。
技术介绍
软件产品一般在满足用户不断更改的需求中需要不断地升级和维护。为了实现某个维护请求,开发人员首先需要理解整个软件系统,特别是对程序的理解。程序理解是软件维护过程中最频繁的工作。通常情况下,在软件维护过程中程序理解要占到60%以上的时间。随着软件系统的不断发展,整个系统的规模越来越大,复杂度也越来越高。为了辅助这项工作,一些程序理解技术采用图或者树的结构来辅助开发人员理解软件系统的结构。这些方法主要的依据是程序元素之间的静态结构依赖关系。由于程序理解的目标是理解系统的一些功能点和不同的源代码是如何对应那些相关的功能特征的。因此,这些程序理解技术会忽视系统的功能特征。此前几乎没有技术可以快速直观的提供系统的特征和各个文件之间的联系的。然而特征及其联系可以有效的帮助开发人员得到一个软件系统总体功能方面的特征信息。为软件系统建立一个基于特征的网络结构可以帮助开发人员更加简单和快速的理解软件系统。特征定位是软件维护和演化过程中由程序员进行的最重要和 ...
【技术保护点】
一种基于相关主题模型的程序理解和特征定位方法,其特征在于,包括以下步骤:步骤1)导入需要理解的软件系统的源代码,提取每个类文件的用户自定义标识符以及注释作为研究对象,并对其进行预处理;步骤2)利用相关主题模型为经过预处理的类文件进行建模,生成具有多个结点的关于类文件的程序特征网络,结点之间建立边的关系,输出该程序特征网络供程序理解;步骤3)输入特征并将特征扩展为特征集,将扩展的特征集作为上述程序特征网络中的一个新结点,利用相关主题模型预测上述程序特征网络中与该新结点有边的结点;步骤4)将所预测的结点进行排序,出现特征词语次数多的类文件则排在前面;步骤5)为排序后的结点生成内 ...
【技术特征摘要】
1.一种基于相关主题模型的程序理解和特征定位方法,其特征在于,包括以下步骤:步骤1)导入需要理解的软件系统的源代码,提取每个类文件的用户自定义标识符以及注释作为研究对象,并对其进行预处理,步骤1)的预处理过程包括以下步骤:a)删除语义上和编程语言相关的关键字;b)对一些按照驼峰规则和有下划短线相连的组合词进行分词;c)去除英语停用词;d)将词语的不同形式进行归一化;步骤2)利用相关主题模型为经过预处理的类文件进行建模,生成具有多个结点的关于类文件的程序特征网络,结点之间建立边的关系,输出该程序特征网络供程序理解,在建模时,程序特征网络中的结点为经过预处理的类文件,通过确定结点之间是否共有相同的主题或者是否具有调用关系来确定结点之间边的关系;步骤3)输入特征并将特征扩展为特征集,将扩展的特征集作为上述程序特征网络中的一个新结点,利用相关主题模型预测上述程序特征网络中与该新结点有边的结点,...
【专利技术属性】
技术研发人员:孙小兵,刘湘月,李斌,李云,朱俊武,
申请(专利权)人:扬州大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。