收藏本站
《上海交通大学》 2014年
收藏 | 手机打开
二维码
手机客户端打开本文

基于语义网络与大数据挖掘的源码搜索引擎

胡翔  
【摘要】:随着计算机科学技术的快速发展,大数据挖掘已经成为计算机界最热门的话题之一。大数据挖掘之所以引起广泛的关注和应用,其原因在于通过高效及可靠的数据分析方法,得以使分析者从海量数据中提取有价值的信息成为可能,帮助人们获取以往分析有限数据所无法获取的内容。随着开源项目托管服务如Source Forge,Google Code,Github拥有越来越多的成熟项目,使得获取大量代码风格良好的源码成为可能,因此在海量具有强语义信息源码的基础上结合自然语言的分析方法进行大数据分析,由用户提供自然语言信息,经过分析进而推荐可用代码具有极高的研究价值以及应用价值。对于传统的源码推荐,第一种是在项目范围内通过语义分析定位相关源码。第二种是在海量源码中进行关键字匹配定位。第一种主要局限在当前项目中,无法根据用户意图在海量源码中定位用户想要的功能。第二种方法只要用户提供正确的关键字理论上可以提供所有可用的源码,但其问题有三,首先通过单个关键字匹配的代码片段过多,多个关键字匹配的代码片段又过少,其次相当大部分的代码使用缩写无法与用户输入匹配,再次大部分代码是接口或声明,无法找到真正有意义的代码片段。如Github上的关键字匹配搜索功能就具备以上三点问题。针对以上问题,本文提出了基于海量源码的分析与搜索方法。编码规范良好的开源项目代码中,标识符都具备明确的语义信息。通过对源代码进行程序分析,能够得到标识符间的依赖关系。而源码的标识符经过本文的分析方法可以被解析成一组自然语言词素token,通过本文提供的输入规则,用户的输入为具备结构性的自然语言token组,token组与变量标识符形成关联,token的结构信息与变量间的使用关系形成关联,变量标识符与其所在代码形成关联,从而使得从结构化的用户自然词素输入组进行源码搜索成为可能。本文从分析源码的变量间使用关系入手,结合标识符的语义信息,提出一种基于自然语言的源码搜索方法。首先,通过开源项目托管网站爬下海量源码,本文使用Java语言作为主要爬取对象。其次,通过上下文语义分析,将源码中的标识符拓展为完整的单词组token。之后通过源码使用分析,建立变量与变量之间的使用关系,同时引入语义网络联系标识符拓展后的单词的近似度。如此便建立了具有自然语义关系的token语义网络与程序语言使用关系的标识符网络。通过指定格式的用户输入:{参数关键词,过程关键词,结果关键词},以结构化信息在海量数据中精确定位符合要求的源码。最后,本文对提出的方法和设计实现进行了实验验证,通过不同难度的源码搜索用例,测试搜索时长,根据不同用户的反馈测试搜索结果的准确性。经过实验验证,本文提出的搜索方法可以满足大部分用户输入用例。
【学位授予单位】:上海交通大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP391.3

【相似文献】
中国期刊全文数据库 前10条
1 蒋忠平;;用生活源码激活语文教学[J];小学教学研究;2017年26期
2 ;PowerDVD 10升级 支持GTX 460源码输出[J];现代电子技术;2010年19期
3 晓岩;我国第一个嵌入式移动数据库源码公布[J];中国科学院院刊;2000年06期
4 马刚,张民强;计算机专业“源码剖析”实践教学模式的探讨[J];实验室研究与探索;2005年05期
5 Robert Cravotta;;突破困境的开放式源码开发平台[J];电子设计技术;2004年07期
6 侯捷;;上穷碧落下黄泉 源码追踪经验谈(上)[J];程序员;2002年04期
7 侯捷;;上穷碧落下黄泉——源码追踪经验谈 下[J];程序员;2002年05期
8 田维莲;羊巍;武晋民;;源码级代码部分自还原策略一种简单实现[J];电脑编程技巧与维护;2012年12期
9 肖明;杨楠;;m88明升[J];考试研究;2010年04期
10 赵香;耿锐;黄光红;;C语言源码级调试器的设计与实现[J];计算机与现代化;2011年05期
中国重要会议论文全文数据库 前1条
1 蔡尧;王祖林;;基于8051IP核的源码分析及研究[A];全国第十届信号与信息处理、第四届DSP应用技术联合学术会议论文集[C];2006年
中国重要报纸全文数据库 前10条
1 本报记者 吉雪娇;“蓉生”企业逆势扩围 源码时代7月登陆深圳[N];金融投资报;2017年
2 本报记者 吉雪娇;也许你读了很多书,我来教你怎么打仗[N];金融投资报;2017年
3 本报记者 吉雪娇;互联网人才战打响 源码时代搭建供需桥梁[N];金融投资报;2017年
4 本报记者 吉雪娇;源码时代给出的提高教学质量之道[N];金融投资报;2017年
5 ;Sun将公开StarOffice源码[N];中国计算机报;2000年
6 迪文;Sun对公开Java源码左右为难[N];中国计算机报;2004年
7 ;Sun开放Solaris源码?[N];计算机世界;2002年
8 ;Microsoft向政府提供Windows源码[N];计算机世界;2003年
9 应明;从共享源码看软件流通[N];中国计算机报;2001年
10 迪文;BIOS终将被Tiano源码取代[N];中国计算机报;2004年
中国博士188bet全文数据库 前1条
1 王艳;源码未知类软件能耗评估技术研究[D];中国科学院研究生院(长春光学精密机械与物理研究所);2012年
中国硕士188bet全文数据库 前10条
1 胡翔;基于语义网络与大数据挖掘的源码搜索引擎[D];上海交通大学;2014年
2 郭明;MapReduce源码分析及性能改进[D];湖北大学;2015年
3 肖锋;源码审核技术中的词法分析研究[D];西安电子科技大学;2009年
4 谷凤伟;基于Makefile文件依赖的源码分析工具设计与实现[D];南京大学;2016年
5 王彦璋;面向源码的功能定位技术研究[D];哈尔滨工程大学;2016年
6 褚蕾;基于静态源码分析的软件安全测试技术研究与实现[D];电子科技大学;2010年
7 齐俊鑫;针对Java Web应用的源码缺陷检测技术研究与实现[D];北京邮电大学;2017年
8 陈亮;基于Web的C语言源码级及汇编级调试器[D];电子科技大学;2016年
9 崔海森;Repetier-Host源码分析与二次开发[D];西安电子科技大学;2014年
10 江威;Android应用无源码调试技术研究[D];电子科技大学;2014年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62791813
  • 010-62985026