一种基于主题建模的代码功能挖掘工具  

Code Function Mining Tool Based on Topic Modeling Technology

在线阅读下载全文

作  者:华哲邦[1,2] 李萌[1,2] 赵俊峰[1,2] 邹艳珍[1,2] 谢冰[1,2] 李扬 

机构地区:[1]北京大学信息科学技术学院,北京100871 [2]高可信软件技术教育部重点实验室,北京100871 [3]神州数码信息系统有限公司,北京100085

出  处:《计算机科学》2014年第9期52-59,共8页Computer Science

基  金:国家高技术研究发展计划(863计划)(2012AA01A403);国家自然科学基金(61121063);国家重点基础研究发展计划(973计划)(2009CB320703)资助

摘  要:代码复用是重要的软件复用方式之一,复用者需要理解软件代码实现的功能方能有效实施软件复用。基于主题建模技术的程序理解方法逐渐受到研究人员的重视,它能够帮助软件开发者和使用者更好地理解软件的功能。目前,基于主题建模技术的程序理解方法一般欠缺对挖掘出的Topic的语义分析,为此提出的基于代码静态分析和LDA技术的代码功能挖掘(Code Function Mining,CFM)方法可作为对这类方法的补充。CFM是一套以代码为研究对象的挖掘、筛选、组织和描述主题(Topic)的方法,该方法能够生成带描述的功能型Topic的层次结构,以供使用者更清晰和方便地浏览、学习软件的功能。功能型Topic的描述能够帮助复用者理解代码功能,其层次结构能够让复用者从不同抽象层次理解代码功能。CFM方法包括4个部分:挖掘Topic、筛选Topic、组织Topic、描述Topic。以CFM方法为基础,设计并实现了一个CFM工具。CFM工具能够分析用户提交的代码,通过Web页面向用户展示带描述的功能型Topic的层次结构。最后,对CFM方法中的几个关键算法进行实验分析,验证了CFM方法的有效性。Code reuse is an important way of software reuse. Software engineers need to understand the code functions before they reuse the code. A Code Function Mining (CFM) method based on static code analysis and LDA technologies was proposed. CFM method is a code-oriented method for mining, filtering, organizing and describing topics. The output of CFM method is a hierarchy structure of functional topics with descriptions. Topic descriptions can help better learn code functions and the hierarchy structure can help better understand code functions from different abstraction levels. CFM method can be used as a supplement of traditional methods based on topic modeling technology to make up for the lack of semantic analysis of topics. CFM method includes four parts:Topic Mining,Topic Filtering, Topic Organizing, Topic Describing. A CFM tool based on CFM method can automatically analyze code and show the function topic hierarchy to users through Web page. To verify the validity of CFM method, the experimental analysis was also presented on several key algorithms in it.

关 键 词:软件代码 代码静态分析 LDA 代码功能挖掘 

分 类 号:TP301[自动化与计算机技术—计算机系统结构]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象