首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 234 毫秒
1.
代码复用是重要的软件复用方式之一,复用者需要理解软件代码实现的功能方能有效实施软件复用。基于主题建模技术的程序理解方法逐渐受到研究人员的重视,它能够帮助软件开发者和使用者更好地理解软件的功能。目前,基于主题建模技术的程序理解方法一般欠缺对挖掘出的Topic的语义分析,为此提出的基于代码静态分析和LDA技术的代码功能挖掘(Code Function Mining,CFM)方法可作为对这类方法的补充。CFM是一套以代码为研究对象的挖掘、筛选、组织和描述主题(Topic)的方法,该方法能够生成带描述的功能型Topic的层次结构,以供使用者更清晰和方便地浏览、学习软件的功能。功能型Topic的描述能够帮助复用者理解代码功能,其层次结构能够让复用者从不同抽象层次理解代码功能。CFM方法包括4个部分:挖掘Topic、筛选Topic、组织Topic、描述Topic。以CFM方法为基础,设计并实现了一个CFM工具。CFM工具能够分析用户提交的代码,通过Web页面向用户展示带描述的功能型Topic的层次结构。最后,对CFM方法中的几个关键算法进行实验分析,验证了CFM方法的有效性。  相似文献   

2.
邢双双  刘名威  彭鑫 《软件学报》2022,33(11):4027-4045
开源及企业软件项目和各类软件开发网站上的代码片段是重要的软件开发资源.然而,很多开发者代码搜索需求反映的代码的高层意图和主题难以通过基于代码文本的信息检索技术来实现精准的代码搜索.因此,反映代码整体意图和主题的语义标签对于改进代码搜索、辅助代码理解都具有十分重要的作用.现有的标签生成技术主要面向文本内容或依赖于历史数据,无法满足大范围代码语义标注和辅助搜索、理解的需要.针对这一问题,提出了一种基于知识图谱的代码语义标签自动生成方法KGCodeTagger.该方法通过基于API文档和软件开发问答文本的概念和关系抽取构造软件知识图谱,作为代码语义标签生成的基础.针对给定的代码,该方法识别并抽取出通用API调用或概念提及,并链接到软件知识图谱中的相关概念上.在此基础上,该方法进一步识别与所链接的概念相关的其他概念作为候选,然后按照多样性和代表性排序,产生最终的代码语义标签.通过实验对KGCodeTagger软件知识图谱构建的各个步骤进行了评估,并通过与几个已有的基准方法的比较,对所生成的代码语义标签质量进行了评估.实验结果表明,KGCodeTagger的软件知识图谱构建步骤是合理有效的,该方法所生成的代码语义标签是高质量、有意义的,能够帮助开发人员快速理解代码的意图.  相似文献   

3.
代码注释作为软件中的重要组成部分,在软件维护、复用等领域中发挥着重要作用。代码注释自动生成技术旨在减轻人工编写注释的工作量,从而提高软件开发效率。现有的注释自动生成方法分为基于规则、文本摘要、数据驱动、主题模型、深度学习等层次。综述了代码注释自动生成的相关概念,对比总结各类代码注释自动生成方法,对近年来代码注释自动生成相关应用进行了梳理和总结,最后对注释自动生成所面临的挑战进行了分析,展望了该领域未来的研究。  相似文献   

4.
潘兴禄  刘陈晓  王敏  邹艳珍  王涛  谢冰 《软件学报》2023,34(9):4114-4131
软件代码注释生成是软件工程领域近期研究的一个重要问题.目前很多研究工作已经在包含大量<代码片段,注释语句>对的开源数据集上取得了较好效果.但在企业应用中,待注释的代码往往是一个软件项目库,其必须首先决策在哪些代码行上生成注释更好,而且待注释的代码片段大小、粒度各不相同,需要研究提出一种注释决策和生成一体化的、抗噪音的代码注释生成方法.针对这个问题,提出一个面向软件项目的代码自动注释生成方法CoComment.所提方法能够自动抽取软件项目文档中的领域基本概念,并基于代码解析与文本匹配进行概念传播和扩展.在此基础上,通过定位概念相关的代码行/段进行自动注释决策,最终利用模板融合概念和上下文生成具有高可读性的自然语言代码注释.目前CoComment已经在3个企业软件项目、超过4.6万条人工代码注释数据上进行了对比试验.结果表明,所提方法不仅能够有效地进行代码注释决策,其注释内容与现有方法相比也能够提供更多有益于理解代码的信息,从而为软件项目代码的注释决策和注释生成问题提供了一种一体化的解决方案.  相似文献   

5.
《计算机科学与探索》2017,(10):1599-1608
软件特征定位是软件演化活动顺利展开的保证。基于文本的特征定位方法是目前特征定位研究的一个重要组成部分。当前基于文本的特征定位方法将代码关键词视为独立同分布的个体,忽略了代码间的语境。针对上述问题,基于深度学习语言模型RNNLM(recurrent neural networks language model)提出了一种源代码主题建模方法,并在此基础上实现了特征定位。实验结果表明,与基于LDA(latent Dirichlet allocation)和LSI(latent semantic indexing)的文本特征定位相比较,查准率提高8.61%和2.61%,表明该方法具有较优的查准率。  相似文献   

6.
本文基于计算机挖掘软件源代码注释数量与质量偏低的问题,设计了代码注释自动生成方法。同时,对本文设计方法与Clocom法进行了实验对比分析,结果表明,相比Clocom法,本文方法所检测出的克隆代码类型更多,产量明显较高;自动生成的代码注释质量都明显较高,代码注释质量较好,总之,本文设计方法下计算机挖掘软件自动生成的代码注释产量与质量都显著较高。  相似文献   

7.
卜依凡  刘辉  李光杰 《软件学报》2019,30(5):1359-1374
上帝类是指某个承担了本应由多个类分别承担的多个职责的类.上帝类违背了分而治之的基本思想以及单一职责的设计原则,严重影响软件的可维护性和可理解性.但上帝类又是一种比较常见的代码坏味.因此,针对上帝类的检测与重构一直是代码重构领域的研究热点之一.为此,提出了一种基于深度神经网络的上帝类检测方法.该方法不仅利用了常见的软件度量,而且充分利用了代码中的文本信息,意图通过挖掘文本语义揭示每个类所承担的主要角色.此外,为了解决有监督深度学习所需的海量标签数据,提出了一种基于开源代码构造标签数据的方法.最后,基于开源数据集对所提出的方法进行了实验验证.实验结果表明,这些方法优于现有的上帝类检测方法,尤其是在查全率上有大幅度的提升(提高了35.58%).  相似文献   

8.
王金水  薛醒思  翁伟 《计算机应用》2015,35(7):1999-2003
针对词袋模型忽略了词条之间语义关系和概念结构的问题,提出一种基于句法分析的代码摘要技术。首先,该技术利用词性标注识别出最有可能体现代码特性的关键词;然后,通过块分析修正在词性标注过程中可能引入的错误;其次,对标识出的关键词进行降噪,以减少文本噪声带来的不利影响;最后,从关键词中选取若干个权值最高的词以组成代码摘要。实验结果表明,与基于词频-逆文档频率(TF-IDF)和基于TF-IDF扩展的代码摘要技术对比,所提技术生成的代码摘要与参考答案的重叠率(overlap)至少分别提高了9%和6%,说明该技术能够生成更加准确的代码摘要。  相似文献   

9.
《自动化信息》2010,(8):5-5
近期,科学计算和基于建模设计的软件开发和供应商一MathWorks公司推出了一款可以自动生成IEC代码的新品。通过使用这些可被轻松集成在B&RAutomation Studio软件中的Simulink模型,可以在Simulink PLC代码编辑器中以结构性文本(IEC 61131—3ST)方式创建源代码,从而扩展工业自动化领域基于建模的设计。  相似文献   

10.
基于LDA主题模型的文本相似度计算   总被引:1,自引:0,他引:1  
王振振  何明  杜永萍 《计算机科学》2013,40(12):229-232
LDA(Latent Dirichlet Allocation)模型是近年来提出的一种具有文本表示能力的非监督学习模型。提出了一种基于LDA主题模型的文本相似度计算方法,该方法利用LDA为语料库建模,利用MCMC中的Gibbs抽样进行推理,间接计算模型参数,挖掘隐藏在文本内的不同主题与词之间的关系,得到文本的主题分布,并以此分布来计算文本之间的相似度,最后对文本相似度矩阵进行聚类实验来评估聚类效果。实验结果表明,该方法能够明显提高文本相似度计算的准确率和文本聚类效果。  相似文献   

11.
韩俊明  王炜 《计算机科学》2015,42(Z11):464-466, 489
演化是软件生命周期中一个重要的部分。现在有大量软件已经演化了数个版本,而如何确认演化后的软件与演化目的相符合,成为了一个需要解决的问题。由于目前还没有一个系统的方法来处理此类问题,提出了采用LDA主题模型的方法对演化确认进行建模分析。用LDA方法对软件源代码中的某些特征进行建模,通过模型能够分析出源代码内潜在的主题。将提取分析出来的主题与软件演化发布的相关报告做对比,找出它们之间的区别,以此确认演化后的软件是否符合演化目的。  相似文献   

12.
以LDA为基础的许多主题模型能够从一定数量的文本中推断出主题个数及主题描述,其存在的问题是主题个数难于确定,也难于决定描述每个主题的特征词汇。针对这个问题,结合LDA与TF-IDF量化的效果,同时考虑对原文本集的涵盖程度以及主题间的独立性,提出了一种Overlap-Completeness得分法的主题区分度优选方法。该方法在LDA建模的基础上,利用TF-IDF获取主题最具代表性的词汇,定义主题词汇间的重叠度、表达的完整度,给出了主题优选的评价方法。最终不仅能得到最佳主题数目,而且还能得到每个主题的最合适的描述词汇。在信息安全新闻文本集上进行了实验研究,结果表明该方法与基本的LDA模型相比,更能选择出有区分度的主题和有代表性的词汇。  相似文献   

13.
摘 要: 为了从日益丰富的蒙古文信息中快速准确地检索用户需求的主题信息,提出了一种融合主题模型LDA与语言模型的方法。该方法首先对蒙古文文本建立一元和二元语言模型,得到文本的语言概率分布;然后基于LDA建立主题模型,利用吉普斯抽样方法计算模型的参数,挖掘得到文档隐含的主题概率分布;最后,计算出文档主题分布与语言分布的线性组合概率分布,以此分布来计算文档主题与查询关键词之间的相似度,返回与查询关键词主题最相关的文档。语言模型充分利用蒙古文语法特征,而主题模型LDA又具有良好的潜在语义挖掘及主题发现的泛化学习能力,从而结合两种方法更好的实现蒙古文文档的主题语义检索,提高检索准确性。实验结果表明,融合LDA模型与语言模型的方法相比单一模型体现主题语义方面取得了较好的效果。  相似文献   

14.
随着微博的日趋流行,新浪微博已成为公众获取和传播信息的重要平台之一,针对微博数据的话题挖掘也成为当前的研究热点。提出一个面向大规模微博数据的话题挖掘方法。首先对大规模微博数据进行分析,基于Bloom Filter算法对数据进行去重处理,针对微博的特有结构,对文本进行预处理,提出改进的LDA主题模型Social Network LDA(SNLDA),采用吉布斯采样法进行模型推导,挖掘出微博话题。实验结果表明,方法能有效地从大规模微博数据中挖掘出话题信息。  相似文献   

15.
徐啸  金涛  王建民 《软件学报》2018,29(11):3295-3305
在健康领域,诊疗过程对于医疗质量至关重要.临床路径集合了各种医疗知识,是对诊疗过程进行标准化的重要途径.然而,当前大多数临床路径由专家研讨制定,往往静态不变,难以部署和实施.在我们之前的工作中,提出了一种基于主题的临床路径挖掘算法,可以从医疗数据中抽取历史执行路径,客观反映数据中实际存在的医疗模式.算法首先通过主题模型将繁杂的诊疗活动聚合成若干主题,而每个诊疗日就可以表示为一个主题分布,一个病人的诊疗日志也相应的转换为一个主题序列,然后利用过程挖掘方法从这些主题序列中生成基于主题的临床路径模型.但传统主题模型(LDA)的聚类效果往往难以满足医疗数据的特点,导致主题质量不高,影响最终过程模型的可解释性.其中,一个普遍的问题就是LDA无法保证两个相似的诊疗日所得的主题分布也是相似的,这是由于其忽略了诊疗日之间原有的相似性特征.在本文中,我们提出了一种优化的主题模型算法,该算法引入了基于本体生成的诊疗日相似性约束,可以有效提升聚类效果.实验结果表明,我们提出的方法能够发现更符合医疗领域特点的高质量主题,进而为基于主题的临床路径的挖掘奠定基础.  相似文献   

16.
潜在狄利克雷分布(LDA)以词袋(bag of words,BOW)模型为基础,简化了建模的复杂度,但使得主题的语义连贯性较差,文档表征能力不强。为解决此问题,提出了一种基于语义分布相似度的主题模型。该模型在EM(expectation maximization)算法框架下,使用GPU(generalized Pólya urn)模型加入单词—单词和文档—主题语义分布相似度来引导主题建模,从语义关联层面上削弱了词袋假设对主题产生的影响。在四个公开数据集上的实验表明,基于语义分布相似度的主题模型在主题语义连贯性、文本分类准确率方面相对于目前流行的主题建模算法表现得更加优越,同时该模型提高了收敛速度和模型精度。  相似文献   

17.
Group topic modeling for academic knowledge discovery   总被引:2,自引:2,他引:0  
Conference mining and expert finding are useful academic knowledge discovery problems from an academic recommendation point of view. Group level (GL) topic modeling can provide us with richer text semantics and relationships, which results in denser topics. And denser topics are more useful for academic discovery issues in contrast to Element level (EL) or Document level (DL) topic modeling, which produces sparser topics. Previous methods performed academic knowledge discovery by using network connectivity (only links not text of documents), keywords-based matching (no semantics) or by using semantics-based intrinsic structure of the words presented between documents (semantics at DL), while ignoring semantics-based intrinsic structure of the words and relationships between conferences (semantics at GL). In this paper, we consider semantics-based intrinsic structure of words and relationships presented in conferences (richer text semantics and relationships) by modeling from GL. We propose group topic modeling methods based on Latent Dirichlet Allocation (LDA). Detailed empirical evaluation shows that our proposed GL methods significantly outperformed DL methods for conference mining and expert finding problems.  相似文献   

18.
博客是Web环境中个人表达观点和情感的一种重要载体,一般涉及较宽泛的话题,蕴含丰富的舆情信息。现有针对有关社会事件的用户产生内容进行情感分析的研究多数以篇章级为处理粒度,尚不能满足博客文本深度情感分析的需求。该文提出一种基于LDA话题模型与Hownet词典的中文博客多方面话题情感分析方法。该方法首先利用数据语料训练LDA话题模型,然后以滑动窗口为基本处理单位,利用训练好的LDA模型对博客文本进行话题识别与划分;在此基础上,基于Hownet词典对划分后的话题段落进行情感倾向计算。该方法有助于同时识别博客文本所涉及的多方面子话题及每个子话题上的情感倾向。实验结果表明,该方法不仅能获得较好的话题划分结果,也有助于改善情感分析的准确率。  相似文献   

19.
Software repositories provide a deluge of software artifacts to analyze. Researchers have attempted to summarize, categorize, and relate these artifacts by using semi-unsupervised machine-learning algorithms, such as Latent Dirichlet Allocation (LDA). LDA is used for concept and topic analysis to suggest candidate word-lists or topics that describe and relate software artifacts. However, these word-lists and topics are difficult to interpret in the absence of meaningful summary labels. Current attempts to interpret topics assume manual labelling and do not use domain-specific knowledge to improve, contextualize, or describe results for the developers. We propose a solution: automated labelled topic extraction. Topics are extracted using LDA from commit-log comments recovered from source control systems. These topics are given labels from a generalizable cross-project taxonomy, consisting of non-functional requirements. Our approach was evaluated with experiments and case studies on three large-scale Relational Database Management System (RDBMS) projects: MySQL, PostgreSQL and MaxDB. The case studies show that labelled topic extraction can produce appropriate, context-sensitive labels that are relevant to these projects, and provide fresh insight into their evolving software development activities.  相似文献   

20.
ContextTopic models such as probabilistic Latent Semantic Analysis (pLSA) and Latent Dirichlet Allocation (LDA) have demonstrated success in mining software repository tasks. Understanding software change messages described by the unstructured nature-language text is one of the fundamental challenges in mining these messages in repositories.ObjectiveWe seek to present a novel automatic change message classification method characterized by semi-supervised topic semantic analysis.MethodIn this work, we present a semi-supervised LDA based approach to automatically classify change messages. We use domain knowledge of software changes to make labeled samples which are added to build the semi-supervised LDA model. Next, we verify the cross-project analysis application of our method on three open-source projects. Our method has two advantages over existing software change classification methods: First of all, it mitigates the issue of how to set the appropriate number of latent topics. We do not have to choose the number of latent topics in our method, because it corresponds to the number of class labels. Second, this approach utilizes the information provided by the label samples in the training set.ResultsOur method automatically classified about 85% of the change messages in our experiment and our validation survey showed that 70.56% of the time our automatic classification results were in agreement with developer opinions.ConclusionOur approach automatically classifies most of the change messages which record the cause of the software change and the method is applicable to cross-project analysis of software change messages.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号