Developers need to comprehend the functional concerns of a software system and the corresponding implementations in source code, before they reuse the source code. Recently, topic modeling-based source code comprehension has become one of the research hotspots. Most previous approaches take source code as plain text written in natural languages, and reuse the topic modeling techniques designed for plain text, which neglect the distinct characteristics of source code. It is difficult to determine the semantics of the topics mined from source code, and there are different categories of topics mixed together. Consequently, it is difficult for the developers to comprehend and apply the topics. In this project, we conduct research on topic modeling techniques for mining functional concerns from source code, which is focused on functional topics. Firstly, based on topic modeling techniques for plain text, we carry out improvements utilizing the characteristics of source code to construct new topic modeling techniques that are more suitable for source code, and we conduct research on categorizing topics mined from source code and identifying functional concerns. Then, we propose a new model to describe the topics and its associated artifacts. Based on the model, we further research specific techniques for describing the semantics of functional topics and establishing relationships among topics and its associated artifacts. Finally, we study mechanisms for developers to apply topics in software comprehension, software categorization, domain analysis, etc., implement the prototype system, and evaluate the effectiveness of our approach with open source software data and enterprise practices.
代码复用中,开发人员需要理解软件的功能及其代码实现。近年来,基于主题建模技术的代码理解方法成为研究热点之一。现有工作大多将代码作为普通文本,直接利用针对普通文本的主题建模技术,缺少对代码特点的考虑;并且挖掘出的主题语义不明确,多种类型主题混杂在一起,开发人员难以理解与应用。 本项目以功能性主题为核心,研究面向功能挖掘的代码主题建模技术。首先,在针对普通文本的主题建模技术基础上,结合软件代码静态结构与动态行为特点进行改进,提出适合代码的主题建模技术,并研究区分不同类型主题及识别功能性主题的技术;进而,构建主题及其关联实体描述模型,在此基础上研究描述功能性主题语义的技术,并建立主题-主题之间、主题-关联实体之间关联关系。最后,研究基于主题的代码理解、软件分类、领域分析等应用技术,并研制相应的原型系统,利用开源软件数据和企业实践进行技术验证。
代码复用中,开发人员需要理解软件的功能及其代码实现。基于主题建模技术的代码理解方法已成为近年来研究热点之一。现有工作大多将代码作为普通文本,直接利用针对普通文本的主题建模技术,缺少对代码特点的考虑;并且挖掘出的主题语义不明确,多种类型主题混杂在一起,开发人员难以理解与应用。本项目针对上述问题,以功能性主题为核心,研究了面向功能挖掘的代码主题建模技术。.本项目从互联网上收集了不同类别、不同规模的开源软件项目资源,针对这些资源进行了主题建模技术方面的研究。首先,针对所收集的软工数据高维稀疏的特征,以及其结构化、半结构化的特征,重点开展了主题建模技术的改进方法研究,以及基于改进张量分解技术的稀疏数据处理方法。在针对普通文本的主题建模技术基础上,结合软件代码静态结构与动态行为特点进行了改进,对现有的主题建模技术进行了改进与扩展,使其可以处理多关联关系以及属性值情况的软工数据。.进而,研究了主题建模技术的计算机制、参数设定、主题词权重判定、主题描述自动生成等工作,并结合软件知识图谱构造技术,研究了主题-主题之间、主题-关联实体之间关联关系的构建技术,构建了主题及其关联实体描述模型,在此基础上研究了描述功能性主题语义的技术,研究了基于主题建模技术的代码主题摘要自动生成方法。将所提炼的功能性主题作为知识图谱中的成分加入其中,构建了一个具有可扩展性的、更适合代码特点的主题及其关联实体描述模型,基于此模型,研究了智能检索与问答技术。.最后,基于上述研究,设计并实现了一个基于扩展主题模型的多源数据分析平台,通过所采集的开源项目数据验证了方法的有效性,并将研究成果应用到神州数码等软件企业中,验证了原型工具的实际应用效果。.本项目共发表论文10篇,发布专利2项申请专利1项,获得软件著作权2项,培养1名博士生、4名硕士生,5名本科生。
{{i.achievement_title}}
数据更新时间:2023-05-31
基于分形L系统的水稻根系建模方法研究
基于公众情感倾向的主题公园评价研究——以哈尔滨市伏尔加庄园为例
基于结构滤波器的伺服系统谐振抑制
极区电离层对流速度的浅层神经网络建模与分析
楼梯疏散三维建模的改进社会力模型
面向短文本的主题建模研究
面向活动类型挖掘和主题提取的人类行为模式研究
知识获取及主题建模关键技术研究
面向并发的自动化代码重构技术研究