CN113641588B - 一种基于lda主题建模的软件可理解性确定方法及*** - Google Patents

一种基于lda主题建模的软件可理解性确定方法及*** Download PDF

Info

Publication number
CN113641588B
CN113641588B CN202111011392.8A CN202111011392A CN113641588B CN 113641588 B CN113641588 B CN 113641588B CN 202111011392 A CN202111011392 A CN 202111011392A CN 113641588 B CN113641588 B CN 113641588B
Authority
CN
China
Prior art keywords
class
word
software
variables
functions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111011392.8A
Other languages
English (en)
Other versions
CN113641588A (zh
Inventor
艾骏
邵义康
施韬
时浩翔
张丛然
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN202111011392.8A priority Critical patent/CN113641588B/zh
Publication of CN113641588A publication Critical patent/CN113641588A/zh
Application granted granted Critical
Publication of CN113641588B publication Critical patent/CN113641588B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3616Software analysis for verifying properties of programs using software metrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

一种基于LDA主题建模的软件可理解性确定方法及***
技术领域
本发明涉及计算机软件处理领域,特别是涉及一种基于LDA主题建模的软件可理解性确定方法及***。
背景技术
计算机软件与硬件相比,软件的一个特点是软件没有硬件或硬件所使用的材料具有的硬性物理规律,然而这也往往带来了一个问题:软件质量标准的统一与评价落实到真实工作中不到位,落实不严格。在国际通用的软件质量评价(如ISO/IEC定义的SQuaRE)的准则中,虽然详细规定了软件质量的具体要求,但是就如Naohiko Tsuda等人所提的那样,这些准则十分笼统且抽象,往往不适合直接真实应用于开发实践中,或者根据其进行设计的要求准则不能准确的反应其思想。
软件的质量评价往往包括了代码可读性,软件的可维护性,软件的执行效率,软件缺陷存在效率等多个方面的评价指标。而我们单单看软件代码的可读性方面,其主要是代码规范程度和程序员的个人素养体现,经验丰富的软件开发工程师往往遵循业界既定的要求,比如命名规范,注释清晰具体且全面等等。这些无一不是软件质量中的软件可读性的体现,同时清晰易懂的代码函数变量名、详细准确的代码注释,也是软件可维护性的要求之一。并且,类、函数(或者方法)、变量的命名在软件从业者的思想中有如下共识:命名要与实际代表的意义相一致,即见名知意。
因此,面对此种情形,本方法提出了一种基于LDA主题建模的软件类代码可理解性的评估方法,使用主题建模方法对面向对象的软件类进行建模分析,使用WordNet相似度计算算法来衡量一个类的名称与建模结果的相近程度,以此来衡量一个类代码的可理解性程度。
发明内容
本发明的目的是提供一种基于LDA主题建模的软件可理解性确定方法及***,能够确定软件整体的可理解性。
为实现上述目的,本发明提供了如下方案:
一种基于LDA主题建模的软件可理解性确定方法,所述方法包括:
获取待测软件的源代码;
对所述源代码进行静态扫描,分析软件中类以及类中的各函数和变量;
获取类所包含的函数和变量,并将所述函数和所述变量一一对应;
对所述类以及所述类所属的函数和变量进行数据清洗,得到映射好的词袋;
基于所述映射好的词袋进行主题建模,得到每个类对应的主题词;
衡量主题词与类的相似程度;
基于所述主题词与类的相似程度确定每个类文件的可理解性;
基于所述每个类文件的可理解性确定整个软件的可理解性。
可选的,所述方法在步骤“基于所述映射好的词袋进行主题建模,得到每个类对应的主题词”之后,步骤“衡量主题词与类的相似程度”之前,还包括:
对主题词进行优化,选取最优主题词。
可选的,所述衡量主题词与类的相似程度具体包括:
遍历类名称列表中的单词,记为Class Word;
遍历主题词列表中的词,记为Topic Word;
采用Word Net相似度计算方法计算所述Class Word和所述Topic Word的相似度;
遍历主题词列表中的下一个词,重复前一步骤,直到主题词列表中的词遍历完毕;
选取与Class Word相似度最高的Topic Word作为最终匹配词;
遍历类名称列表中的下一个单词,重复上述步骤,直到类名称列表中的所有单词遍历完毕。
可选的,所述分析软件中类以及类中的各函数和变量具体采用静态代码分析工具分析软件中类以及类中的各函数和变量。
可选的,对所述类以及所述类所属的函数和变量进行数据清洗,得到映射好的词袋具体包括:
对所述类以及所述类所属的函数和变量进行分词处理;
对分词处理后的类以及所述类所属的函数和变量进行停用词处理;
对停用词处理后的类以及所述类所属的函数和变量进行词性还原和词干提取;
将词性还原和词干提取后的类以及所述类所属的函数和变量,根据类和它的内部元素的从属关系,一一对应地将每个类映射为一个个词袋。
可选的,对所述类以及所述类所属的函数和变量进行分词处理具体是基于驼峰规则、下划线规则以及贪婪算法进行分词处理。
可选的,所述对停用词处理后的类以及所述类所属的函数和变量进行词性还原和词干提取具体是采用波特算法进行词性还原和词干提取。
可选的,基于所述映射好的词袋进行主题建模,得到每个类对应的主题词具体是采用LAD算法进行主题建模。
可选的,所述基于所述每个类文件的可理解性确定整个软件的可理解性具体包括:
对每个类文件的可理解性采用K-means算法进行聚类划分,得到整个软件的可理解性。
本发明另外提供一种基于LDA主题建模的软件可理解性确定***,所述***包括:
源代码获取模块,用于获取待测软件的源代码;
静态扫描模块,用于对所述源代码进行静态扫描,分析软件中类以及类中的各函数和变量;
函数及变量对应模块,用于获取类所包含的函数和变量,并将所述函数和所述变量一一对应;
数据清洗模块,用于对所述类以及所述类所属的函数和变量进行数据清洗,得到映射好的词袋;
主题建模模块,用于基于所述映射好的词袋进行主题建模,得到每个类对应的主题词;
相似程度计算模块,用于衡量主题词与类的相似程度;
类文件的可理解性确定模块,用于基于所述主题词与类的相似程度确定每个类文件的可理解性;
软件的可理解性确定模块,用于基于所述每个类文件的可理解性确定整个软件的可理解性。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明中的方法首先通过获取类的函数(方法)、变量等能反应类所具有功能或者含义的代码片段等数据,确保取到了最能反应软件类功能含义的代码段,并在此阶段根据编程语言的特性和实验总结,自建了停用词列表,对数据进行了去除停用词等清洗处理,并将数据中的词映射为词袋,在此基础上,保证了主题建模结果的准确性,本发明完成了对代码的数据处理词干还原,词袋映射,主题建模,再到评估软件类的可理解性程度都是全自动完成,填补了没有方法具体地量化衡量一个软件类的可理解性程度这一空白。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例基于LDA主题建模的软件可理解性确定方法流程图;
图2为本发明实施例基于LDA主题建模的软件可理解性确定方法框图;
图3为本发明实施例规则分词示意图;
图4为本发明实施例相似度计算结果示意图;
图5为本发明实施例聚类结果示意图;
图6为本发明实施例基于LDA主题建模的软件可理解性确定***结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于LDA主题建模的软件可理解性确定方法及***确定软件整体的可理解性。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1和图2所示,本发明提供基于LDA主题建模的软件可理解性确定方法,包括如下步骤:
步骤101:获取待测软件的源代码。
具体的,是首先确定待评估软件(Java语言编写)并获取其完整的软件源代码。
步骤102:对所述源代码进行静态扫描,分析软件中类以及类中的各函数和变量。
步骤103:获取类所包含的函数和变量,并将所述函数和所述变量一一对应。
具体的,对待评估软件源代码进行静态扫描,利用已有的静态代码分析工具分析软件中类以及类中的各函数(方法)、变量,获取类所包含的函数、变量,并将每个类与类内部元素一一对应起来。
步骤104:对所述类以及所述类所属的函数和变量进行数据清洗,得到映射好的词袋。
具体包含如下步骤:
S1041:在步骤103的基础上,在获取的类以及所属元素(函数或方法和变量)上,对类以及其所属的函数变量名等数据进行分词处理,分词主要用到了基于规则分词如驼峰规则和下划线规则,除此之外少部分还用到了贪婪算法来识别单词。由此,将上述一个类中的元素分词处理后,逐个加入一个列中,就获取了单词集合形式的类元素列表。基于规则分词如图3所示。
S1042:在步骤1041的基础上,进行去除停用词处理。首先根据Java语言的特点,选择部分保留字如int等,再加上多次实验总结出的一些应该去除的词,如get等,组成一个停用词列表。因为一些与类主题无关的词也会被放入我们的数据中,这些词对主题建模的影响非常大,这些的词本身意义并不大,且与类的主题关联度比较小,因此将确定的停用词去除掉。
S1043:在步骤1042得到的去除过停用词的数据后,对数据进一步处理,这里的处理主要是进行词性还原和词干提取,此处主要用到了波特算法来完成这个步骤。进行词干提取和词性还原是十分必要及关键的一步,对主题建模结果具有十分大的影响力。
S1044:在步骤1043中,得到了软件所有的每个类以及类所属的函数(变量)、方法等数据,在此数据基础上,对数据进一步处理,将数据根据类与它的内部元素的从属关系,一一对应地将每个类映射为一个个词袋,即一篇类文本的所包含的函数等元素中的单词,放入对应的词袋中,不考虑其词法和语序的问题,即每个词语都是独立的。使用词袋模型,可以理解为将一个类元素列表映射为向量形式,表示单词在类中的出现频率,便于下一步建模使用。
步骤105:基于所述映射好的词袋进行主题建模,得到每个类对应的主题词。
在步骤104的基础上,使用映射好的词袋进行主题建模。主题建模部分本发明采用LDA算法来完成,对于LDA近似求解,本发明采用吉布斯采样法来近似求解。在LDA建模过程中,超参数设计采用默认值0.02,而对于Java语言编写的软件,对于主题词词组个数而言,采用三组主题词,最终选取最优的建模结果即最前一组的主题词作为建模的最终结果去计算相似度。在主题建模过程中的迭代次数,我们并未计算最优的迭代次数,因为每个类的最优迭代次数都是不确定的,需要根据类文本的具体内容和长度来定,因此,我们根据实验的结果,调整到迭代次数为2000次时,获得了适用于多次实验的最优迭代次数。模型将数据即步骤104中的映射好的词袋输入,根据设定的参数,建立的模型会选择最可能反应本文档的单词输出,即得到了主题词。我们再进行优化,选择最优的主题词,使结果更趋近于最优。
步骤106:衡量主题词与类的相似程度。
经过步骤105的主题建模处理,我们得到了每个类对应的主题词,我们在此处使用单词相似度来衡量主题词与类名的相近程度。此处用的计算方法且WordNet单词相似度计算方法,它代表的是单词在词典树中的距离,计算的数值分布在0-1之间,越靠近1代表主题词与类名越相近,我们就认为此软件类的语义可理解程度是比较好,反之则较差。获得Java软件类的可理解性具体指标的步骤如下:
S1061:遍历出类名称列表中的第一个单词,记为ClassWord。
S1062:遍历主题词列表中的词,记为TopicWord。
S1063:使用WordNet相似度计算方法使得TopicWord与ClassWord进行单词间的相似度计算。
S1064:遍历主题词列表中的词(替换TopicWord),重复前一步骤,直至主题词列表词遍历完毕。并选取与ClassWord相似度最高的TopicWord作为最终匹配词。
S1065:再遍历出类名称列表中的下一个ClassWord,从第1步开始,重复上述操作即可。
在此处,本发明体提出了两个具体衡量可理解性的指标,如下:
平均相似度:Mean_similarity=similarity/n,其中similarity为n个单词与对应单词的相似度之和,n为为对应类名中单词的个数。
类名单词平均命中率:Mean_number=number/n,其中,number为上述的相似度大于0.8的单词个数,n为类名中单词个数。
平均相似度分布如附图4所示。具体实验结果如表1所示,举例来说,对于“ApplicationMapping.java”这个类,我们经过前5个步骤得到的结果为[“applic”,“map”]。这与类名经过步骤4的词干提取后的结果是完全一致的,因此其评分为[1.0,1.0]。
表1部分实验结果示例表
类名 平均相似度 平均命中率
ContainerBase 1.0 1
ApplicationContext 0.625 0.5
FrameworkListener 0.6 0.5
ApplicationMapping 1.0 1.0
ApplicationHttpResponse 0.703703 0.66666
AsyncContextImpl 0.703703 0.66666
NamingContextListener 0.75 0.66
步骤107:基于所述主题词与类的相似程度确定每个类文件的可理解性。
步骤108:基于所述每个类文件的可理解性确定整个软件的可理解性。
经过步骤106的相似度计算,我们得到了软件所包含的每个类文件的可理解性程度,为了得到整体软件的可理解性程度,我们将这些得到的每个软件类的可理解性数值进行聚类划分,来判断软件整体可理解性的好坏。此处选择使用K-means算法来完成聚类,聚类的输入是一个软件中多个样本软件类经过步骤106计算得到的两个可理解性指标的数值,建立一个二维坐标,横轴为平均相似度,纵轴为平均命中个数。目前的簇个数需要手动指定,聚类算法会计算出最优的聚类情况,并得出每个簇的中心点所在,分好的类别中,类别(或者说簇)中心点坐标越接近(1.0,1.0),代表了此类别(簇)所包括的软件类的可理解越好。整体的评价则再此基础上,根据落在不同类别(簇)的软件类的个数的多少来判定整体软件可理解性的好坏。如附图5所示,图中,左边为步骤106实验结果分布,经过步骤108聚类后,分为5类,越接近右上方向的类别(或者说簇)中的样本软件类的可理解性程度越高。
图6为本发明实施例基于LDA主题建模的软件可理解性确定***结构示意图,如图6所示,所述***包括:
源代码获取模块201,用于获取待测软件的源代码;
静态扫描模块202,用于对所述源代码进行静态扫描,分析软件中类以及类中的各函数和变量;
函数及变量对应模块203,用于获取类所包含的函数和变量,并将所述函数和所述变量一一对应;
数据清洗模块204,用于对所述类以及所述类所属的函数和变量进行数据清洗,得到映射好的词袋;
主题建模模块205,用于基于所述映射好的词袋进行主题建模,得到每个类对应的主题词;
相似程度计算模块206,用于衡量主题词与类的相似程度;
类文件的可理解性确定模块207,用于基于所述主题词与类的相似程度确定每个类文件的可理解性;
软件的可理解性确定模块208,用于基于所述每个类文件的可理解性确定整个软件的可理解性。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (6)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111011392.8A CN113641588B (zh) 2021-08-31 2021-08-31 一种基于lda主题建模的软件可理解性确定方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111011392.8A CN113641588B (zh) 2021-08-31 2021-08-31 一种基于lda主题建模的软件可理解性确定方法及***

Publications (2)

Publication Number Publication Date
CN113641588A CN113641588A (zh) 2021-11-12
CN113641588B true CN113641588B (zh) 2024-05-24

Family

ID=78424581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111011392.8A Active CN113641588B (zh) 2021-08-31 2021-08-31 一种基于lda主题建模的软件可理解性确定方法及***

Country Status (1)

Country Link
CN (1) CN113641588B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927176A (zh) * 2014-04-18 2014-07-16 扬州大学 一种基于层次主题模型的程序特征树的生成方法
KR20170134191A (ko) * 2016-05-26 2017-12-06 연세대학교 원주산학협력단 페이지랭크와 토픽 모델링을 이용한 소프트웨어 도메인 토픽 추출 시스템
CN108090234A (zh) * 2018-01-12 2018-05-29 扬州大学 一种面向软件缺陷的信息网络自动构建方法
CN108280180A (zh) * 2018-01-23 2018-07-13 北京航空航天大学 一种基于主题模型的半监督哈希算法
CN110347428A (zh) * 2018-04-08 2019-10-18 北京京东尚科信息技术有限公司 一种代码相似度的检测方法和装置
CN110597735A (zh) * 2019-09-25 2019-12-20 北京航空航天大学 一种面向开源软件缺陷特征深度学习的软件缺陷预测方法
CN111831802A (zh) * 2020-06-04 2020-10-27 北京航空航天大学 一种基于lda主题模型的城市领域知识检测***及方法
CN111858842A (zh) * 2019-04-26 2020-10-30 南京大学 一种基于lda主题模型的司法案例筛选方法
CN112329460A (zh) * 2020-11-02 2021-02-05 中国平安人寿保险股份有限公司 文本的主题聚类方法、装置、设备及存储介质
CN112989819A (zh) * 2021-03-22 2021-06-18 北京小米移动软件有限公司 中文文本分词方法、装置及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493596B2 (en) * 2004-06-30 2009-02-17 International Business Machines Corporation Method, system and program product for determining java software code plagiarism and infringement
US8209665B2 (en) * 2008-04-08 2012-06-26 Infosys Limited Identification of topics in source code
US20110271250A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Software Development Tool
US20190026106A1 (en) * 2017-07-20 2019-01-24 Ca, Inc. Associating software issue reports with changes to code
US10705809B2 (en) * 2017-09-08 2020-07-07 Devfactory Innovations Fz-Llc Pruning engine
US20210141822A1 (en) * 2019-11-11 2021-05-13 Microstrategy Incorporated Systems and methods for identifying latent themes in textual data

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927176A (zh) * 2014-04-18 2014-07-16 扬州大学 一种基于层次主题模型的程序特征树的生成方法
KR20170134191A (ko) * 2016-05-26 2017-12-06 연세대학교 원주산학협력단 페이지랭크와 토픽 모델링을 이용한 소프트웨어 도메인 토픽 추출 시스템
CN108090234A (zh) * 2018-01-12 2018-05-29 扬州大学 一种面向软件缺陷的信息网络自动构建方法
CN108280180A (zh) * 2018-01-23 2018-07-13 北京航空航天大学 一种基于主题模型的半监督哈希算法
CN110347428A (zh) * 2018-04-08 2019-10-18 北京京东尚科信息技术有限公司 一种代码相似度的检测方法和装置
CN111858842A (zh) * 2019-04-26 2020-10-30 南京大学 一种基于lda主题模型的司法案例筛选方法
CN110597735A (zh) * 2019-09-25 2019-12-20 北京航空航天大学 一种面向开源软件缺陷特征深度学习的软件缺陷预测方法
CN111831802A (zh) * 2020-06-04 2020-10-27 北京航空航天大学 一种基于lda主题模型的城市领域知识检测***及方法
CN112329460A (zh) * 2020-11-02 2021-02-05 中国平安人寿保险股份有限公司 文本的主题聚类方法、装置、设备及存储介质
CN112989819A (zh) * 2021-03-22 2021-06-18 北京小米移动软件有限公司 中文文本分词方法、装置及存储介质

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
Combined_reliability_test_for_software-hardware_system;艾骏;IEEE;第658-663页 *
Intelligent Radar Software Defect Classication Approach based on the Latent Dirichlet Allocation Topic Model;Xi Liu et al.;SEMANTIC SCHOLAR;20210720;第1-22页 *
WordNet在文本聚类中的应用研究;饶洋辉;叶良;程洁;;现代图书情报技术;20091025(10);第67-70页 *
基于LDA的软件代码主题摘要自动生成方法;李文鹏等;计算机科学;第44卷(第4期);第35-38页 *
基于主题建模和静态分析技术的软件代码功能性主题获取方法;李萌等;中国科学:信息科学;第44卷(第1期);第54-69页 *
基于主题的文档与代码间关联关系的提取研究;许冶冰等;计算机工程与应用;第49卷(第5期);第70-76页 *
基于改进LDA和K-means算法的主题句聚类;刘子平;李学明;;计算机应用;20161215(S2);第239-241页 *
实时嵌入式软件测试输入的可视化建模;艾骏, 陆民燕, 刘斌;北京航空航天大学学报;20040229;第30卷(第2期);第156-159页 *
袁津生等.搜索引擎原理与实践.北京邮电大学出版社,2008,第59页. *

Also Published As

Publication number Publication date
CN113641588A (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
CN108563703A (zh) 一种罪名的判定方法、装置及计算机设备、存储介质
CN111259873B (zh) 一种表格数据提取方法及装置
CN108052505A (zh) 文本情感分析方法及装置、存储介质、终端
CN112163553B (zh) 物料价格核算方法、装置、存储介质和计算机设备
CN111563071A (zh) 数据清洗方法、装置、终端设备及计算机可读存储介质
CN110555101A (zh) 一种客服知识库更新方法、装置、设备及存储介质
CN105912645A (zh) 一种智能问答方法及装置
CN112199512B (zh) 面向科技服务的事理图谱构建方法、装置、设备及存储介质
CN112069787A (zh) 一种基于词嵌入的日志参数异常检测方法
CN112949907A (zh) 一种工程造价的定额匹配方法、装置、设备及存储介质
CN112528663B (zh) 一种电网领域调度场景下的文本纠错方法及***
CN112364631B (zh) 基于层级多任务学习的中文语法错误检测方法及***
CN111461121A (zh) 一种基于yolov3网络的电表示数识别方法
CN112818110A (zh) 文本过滤方法、设备及计算机存储介质
CN112417893A (zh) 一种基于语义层次聚类的软件功能需求分类方法及***
CN110781673B (zh) 文档验收方法、装置、计算机设备及存储介质
CN116012131A (zh) 一种用于评估用户信贷风险的方法、***、装置以及介质
CN111612149A (zh) 一种基于决策树的主网线路状态检测方法、***及介质
CN113641588B (zh) 一种基于lda主题建模的软件可理解性确定方法及***
CN110458383B (zh) 需求处理服务化的实现方法、装置及计算机设备、存储介质
CN115859128B (zh) 一种基于档案数据交互相似度的分析方法和***
CN111813593A (zh) 一种数据处理方法、设备、服务器及存储介质
CN113297190B (zh) 一种基于数据综合分析的可视化方法、设备和介质
CN115936003A (zh) 基于神经网络的软件功能点查重方法、装置、设备及介质
CN109977400A (zh) 一种校验处理的方法、装置、计算机存储介质及终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant