[发明专利]基于本体的代码片段标注与重用系统有效
申请号: | 201510272310.3 | 申请日: | 2015-05-25 |
公开(公告)号: | CN104881285B | 公开(公告)日: | 2018-04-20 |
发明(设计)人: | 计卫星;廖心怡;高志伟;王一拙;高玉金;石峰 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F8/73 | 分类号: | G06F8/73;G06F8/36;H04L29/06 |
代理公司: | 北京理工正阳知识产权代理事务所(普通合伙)11639 | 代理人: | 王民盛 |
地址: | 100081 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 本体 代码 片段 标注 重用 系统 | ||
1.一种基于本体的代码片段标注与重用系统,其特征在于:包括代码片段本体标注模型,代码片段本体标注模块,本体标注模型学习模块,服务器端管理模块,客户端管理模块;
所述代码片段本体标注模型用于对新提交的代码片段进行自动标注,模型根据代码片段的标题、描述和具体源代码内容进行计算;代码片段本体标注模型是由本体标注模型学习模块生成的;
所述本体标注模型学习模块运行在服务器端,采用某种机器学习算法,利用人工手动标注的代码片段,或系统中已有的已完成本体标注的代码片段,学习并生成代码片段本体标注模型;目前已有可以采用的机器学习算法包括但是不限于以下算法:人工神经网络、支持向量机、决策树和贝叶斯分类算法;
所述的服务器端管理模块运行在远程服务器端,负责用户管理,接收客户端提交的代码片段并将其存入远程服务器端的数据库中,根据客户端的查询请求返回多个代码片段给客户端,定期调用本体标注模型学习模块生成最新的代码片段本体标注模型,并将最新生成的代码片段本体标注模型发送给客户端管理模块;
所述服务器端管理模块为每个注册用户提供一个唯一的URL,该URL对应了服务器上的一个代码片段库,该代码片段库中存储了该URL对应的用户提交的所有代码片段;
所述的客户端管理模块以集成开发环境插件的形式运行在编程人员使用的计算机上;完成代码片段的采集、本体标注、提交、查询和重用功能;
所述代码片段本体标注模块运行在客户端,被客户端管理模块进行调用,产生标注好的代码片段并将这些片段存储在所述数据库中;
代码片段本体标注模块包含重用方法为:
(1)客户端管理模块监测用户在代码编辑器中的输入,当当前输入的字符串与某个缓存的代码片段集合中的某个代码片段的标题或本体标注部分或者完全匹配时,显示一个候选的代码片段列表给程序设计人员;
(2)程序设计人员从候选列表中选择一个代码片段,客户端管理模块将选中的代码片段自动插入到代码编辑器中当前光标所在位置;
(3)如有必要,客户端管理模块将删除部分已有的代码;
(4)如有必要,客户端管理模块将对代码编辑器中的所有代码进行格式化。
2.根据权利要求1所述的一种基于本体的代码片段标注与重用系统,其特征在于,所述客户端管理模块初始化流程为:
(1)程序设计人员下载客户端管理模块并将其安装到集成开发环境中;
(2)程序设计人员打开集成开发环境,客户端管理模块随之启动;
(3)程序设计人员通过客户端管理模块申请注册一个新的账号,注册成功后服务器端管理模块将分配给该用户一个唯一的URL;
(4)程序设计人员在客户端管理模块中输入注册的用户名和密码,完成客户端到服务器端的认证;
(5)客户端管理模块从服务器端下载最新的代码片段本体标注模型;
(6)程序设计人员登录成功后,该登录账号对应的URL默认被自动添加到客户端管理模块的一个URL列表中,程序设计人员可以手动添加一个或多个其他用户对应的URL到客户端管理模块的URL列表中;
(7)客户端管理模块从服务器端获取当前已登录用户的URL对应的所有代码片段,并缓存在本地;客户端管理模块从服务器端获取非当前登录用户URL对应的代码片段库中所有权限设置为共享的代码片段,并缓存在本地;
(8)客户端管理模块不定期从服务器端更新缓存在本地的所有代码片段,以保证缓存的代码片段与服务器端数据库中的代码片段数据的一致性。
3.根据权利要求1所述的一种基于本体的代码片段标注与重用系统,其特征在于:代码片段本体标注模块包含标注方法为:
(1)程序设计人员在集成开发环境的代码编辑器中选中一段代码,并按下一个快捷键或者点击菜单打开代码片段提交窗口;
(2)客户端管理模块自动从代码编辑器中提取程序设计人员选中的代码片段,以及编写该代码片段的程序设计语言类型,并显示在提交窗口中;
(3)程序设计人员在提交窗口中输入代码片段的标题和描述,设置代码片段的权限;
(4)客户端管理模块根据代码片段的标题、描述和源代码,基于代码片段本体标注模型计算相应的本体标签,并显示在提交窗口中;
(5)如有必要,程序设计人员修改代码片段对应的本体标注,确认代码片段本体标注无误后提交,客户端管理模块将代码片段的标题、描述、源代码、语言类型、本体标注和权限发送给服务器端管理模块;
(6)服务器端管理模块将代码片段存入数据库中;
(7)客户端管理模块将新提交的代码片段缓存到本地,保持与服务器端数据一致性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510272310.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种粉煤灰加气混凝土砌块的制造方法
- 下一篇:一种控制视频通信质量甜点的方法