[发明专利]基于本体的代码片段标注与重用系统有效
申请号: | 201510272310.3 | 申请日: | 2015-05-25 |
公开(公告)号: | CN104881285B | 公开(公告)日: | 2018-04-20 |
发明(设计)人: | 计卫星;廖心怡;高志伟;王一拙;高玉金;石峰 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F8/73 | 分类号: | G06F8/73;G06F8/36;H04L29/06 |
代理公司: | 北京理工正阳知识产权代理事务所(普通合伙)11639 | 代理人: | 王民盛 |
地址: | 100081 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 本体 代码 片段 标注 重用 系统 | ||
技术领域
本发明涉及一种基于本体的代码片段标注与重用系统,属于计算机软件设计与实现领域,适用于高效软件集成开发环境的构建。
背景技术
代码片段是指使用某种程序设计语言编写的一小段程序,通常包含1行到上百行代码,其存在的意义在于:(1)一个代码片段给出了某个接口API的使用方法;(2)实现了某个特定的功能,例如堆排序或者基数排序;(3)是使用某种程序设计语言编程时频繁输入的一个代码模板或者语句组合。程序设计人员在软件设计与开发过程中,预期某些代码片段会重复编写,通常会通过文本文件、博客系统、软件集成开发环境或者代码片段管理系统保存大量的代码片段。在后续的程序设计和开发过程中,通过查找、拷贝和修改等步骤重用保存的代码片段以提高程序设计与开发的效率。
保存在文本文件中的代码片段不利于代码片段的检索和重用,且由于时间和空间的限制,程序设计人员需要在多台计算机之间手动完成代码片段数据的同步工作。此外,在上一个项目实施过程中积累的代码片段,由于记忆消退和查找困难等原因,很难在下一个项目中得到重用。发布在博客系统中的代码片段不受时间和空间的限制,但是由于博客系统中发布的通常是非结构化的文本,且文本中包含了大量的自然语言描述,不利于集中检索,程序设计人员只能使用通用搜索引擎进行搜索,并逐条阅读和过滤,费时费力,与代码片段快速重用的基本思想不符。
集成开发环境(例如Eclipse和Visual Studio)或者专用的代码片段管理系统(例如github的gist子系统,CSDN的code子系统)能够方便的实现代码片段的管理和搜索,但是对于代码片段的高效复用仍然存在较大的障碍:部分代码片段是程序设计人员在开发过程中匆忙提交的,因此代码片段标题和相应的功能描述非常简短,部分代码片段在提交时并没有给出相应的功能和用途描述,因此非常不利于代码片段的分享和重用。部分博客系统或者代码片段管理系统提供了标签标记每个代码片段的功能和用途,但是这些标签通常是系统根据已有代码片段的描述自动抽取,或者由用户在提交代码片段时自行添加的,因此没有统一的标准,不仅不利于代码片段的共享,而且无法在多个代码片段管理系统之间高效实现代码片段的异构集成和联合检索。
发明内容
本发明的是为了克服已有代码片段管理系统存在的缺陷,提出一种基于本体的代码片段标注与重用系统,利用程序设计领域专用本体,对代码片段进行标注,通过代码片段的本体标签实现代码片段标注的标准化,为本体共享和重用检索奠定良好基础。
所述代码片段包括但不限于以下属性:标题、描述、开发语言、源代码、本体标签和权限。其中标题为代码片段的名称;描述是代码片段功能和用途的文本描述;开发语言是编写代码片段的程序设计语言;源代码是代码片段的具体内容;本体标签是由代码片段本体标注模块在代码片段提交时根据标题、描述和源代码计算出的本体标签;权限分为私有和共享两种,私有的代码片段只能由提交者本人访问,共享的代码片段可以被其他程序设计人员通过客户端管理模块访问。
本发明的目的是通过以下技术方案来实现的:
一种基于本体的代码片段标注与重用系统,包括代码片段本体标注模型,代码片段本体标注模块,本体标注模型学习模块,服务器端管理模块,客户端管理模块。
所述代码片段本体标注模型用于对新提交的代码片段进行自动标注,模型根据代码片段的标题、描述和具体源代码内容进行计算。代码片段本体标注模型是由本体标注模型学习模块生成的,将会通过网络发送给客户端管理模块。
所述本体标注模型学习模块运行在服务器端,定期被服务器管理模块调用。采用某种机器学习算法,利用人工手动标注的代码片段,或系统中已有的已完成本体标注的代码片段,学习并生成代码片段本体标注模型。目前已有可以采用的机器学习算法包括但是不限于以下算法:人工神经网络、支持向量机、决策树和贝叶斯等分类算法。
所述的服务器端管理模块运行在远程服务器端,负责用户管理,接收客户端提交的代码片段并将其存入数据库中,根据客户端的查询请求返回多个代码片段给客户端,定期调用本体标注模型学习模块生成最新的代码片段本体标注模型,并将最新生成的代码片段本体标注模型发送给客户端管理模块。服务器端管理模块为每个注册用户提供一个唯一的URL,该URL对应了服务器上的一个代码片段库,该代码片段库中存储了该URL对应的用户提交的所有代码片段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510272310.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种粉煤灰加气混凝土砌块的制造方法
- 下一篇:一种控制视频通信质量甜点的方法