一种基于LDA主题建模的软件可理解性确定方法及系统

文档序号:27391098发布日期:2021-11-15 22:18阅读:来源:国知局

技术特征:
1.一种基于lda主题建模的软件可理解性确定方法,其特征在于,所述方法包括:获取待测软件的源代码;对所述源代码进行静态扫描,分析软件中类以及类中的各函数和变量;获取类所包含的函数和变量,并将所述函数和所述变量一一对应;对所述类以及所述类所属的函数和变量进行数据清洗,得到映射好的词袋;基于所述映射好的词袋进行主题建模,得到每个类对应的主题词;衡量主题词与类的相似程度;基于所述主题词与类的相似程度确定每个类文件的可理解性;基于所述每个类文件的可理解性确定整个软件的可理解性。2.根据权利要求1所述的基于lda主题建模的软件可理解性确定方法,其特征在于,所述方法在步骤“基于所述映射好的词袋进行主题建模,得到每个类对应的主题词”之后,步骤“衡量主题词与类的相似程度”之前,还包括:对主题词进行优化,选取最优主题词。3.根据权利要求1所述的基于lda主题建模的软件可理解性确定方法,其特征在于,所述衡量主题词与类的相似程度具体包括:遍历类名称列表中的单词,记为classword;遍历主题词列表中的词,记为topicword;采用wordnet相似度计算方法计算所述classword和所述topicword的相似度;遍历主题词列表中的下一个词,重复前一步骤,直到主题词列表中的词遍历完毕;选取与classword相似度最高的topicword作为最终匹配词;遍历类名称列表中的下一个单词,重复上述步骤,直到类名称列表中的所有单词遍历完毕。4.根据权利要求1所述的基于lda主题建模的软件可理解性确定方法,其特征在于,所述分析软件中类以及类中的各函数和变量具体采用静态代码分析工具分析软件中类以及类中的各函数和变量。5.根据权利要求1所述的基于lda主题建模的软件可理解性确定方法,其特征在于,对所述类以及所述类所属的函数和变量进行数据清洗,得到映射好的词袋具体包括:对所述类以及所述类所属的函数和变量进行分词处理;对分词处理后的类以及所述类所属的函数和变量进行停用词处理;对停用词处理后的类以及所述类所属的函数和变量进行词性还原和词干提取;将词性还原和词干提取后的类以及所述类所属的函数和变量,根据类和它的内部元素的从属关系,一一对应地将每个类映射为一个个词袋。6.根据权利要求5所述的基于lda主题建模的软件可理解性确定方法,其特征在于,对所述类以及所述类所属的函数和变量进行分词处理具体是基于驼峰规则、下划线规则以及贪婪算法进行分词处理。7.根据权利要求5所述的基于lda主题建模的软件可理解性确定方法,其特征在于,所述对停用词处理后的类以及所述类所属的函数和变量进行词性还原和词干提取具体是采用波特算法进行词性还原和词干提取。8.根据权利要求1所述的基于lda主题建模的软件可理解性确定方法,其特征在于,基
于所述映射好的词袋进行主题建模,得到每个类对应的主题词具体是采用lad算法进行主题建模。9.根据权利要求1所述的基于lda主题建模的软件可理解性确定方法,其特征在于,所述基于所述每个类文件的可理解性确定整个软件的可理解性具体包括:对每个类文件的可理解性采用k

means算法进行聚类划分,得到整个软件的可理解性。10.一种基于lda主题建模的软件可理解性确定系统,其特征在于,所述系统包括:源代码获取模块,用于获取待测软件的源代码;静态扫描模块,用于对所述源代码进行静态扫描,分析软件中类以及类中的各函数和变量;函数及变量对应模块,用于获取类所包含的函数和变量,并将所述函数和所述变量一一对应;数据清洗模块,用于对所述类以及所述类所属的函数和变量进行数据清洗,得到映射好的词袋;主题建模模块,用于基于所述映射好的词袋进行主题建模,得到每个类对应的主题词;相似程度计算模块,用于衡量主题词与类的相似程度;类文件的可理解性确定模块,用于基于所述主题词与类的相似程度确定每个类文件的可理解性;软件的可理解性确定模块,用于基于所述每个类文件的可理解性确定整个软件的可理解性。

技术总结
本发明涉及一种基于LDA主题建模的软件可理解性确定方法及系统,所述方法包括:获取待测软件的源代码;对所述源代码进行静态扫描,分析软件中类以及类中的各函数和变量;获取类所包含的函数和变量,并将所述函数和所述变量一一对应;对所述类以及所述类所属的函数和变量进行数据清洗,得到映射好的词袋;基于所述映射好的词袋进行主题建模,得到每个类对应的主题词;衡量主题词与类的相似程度;基于所述主题词与类的相似程度确定每个类文件的可理解性;基于所述每个类文件的可理解性确定整个软件的可理解性。本发明中的上述方法弥补了现有技术的空白。有技术的空白。有技术的空白。


技术研发人员:艾骏 邵义康 施韬 时浩翔 张丛然
受保护的技术使用者:北京航空航天大学
技术研发日:2021.08.31
技术公布日:2021/11/14
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1