基于程序分析和机器学习的JavaScript代码推荐研究

被引量 : 0次 | 上传用户:dancingbug
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
集成开发环境(IDE)是一种帮助开发人员进行项目开发的应用程序,被广泛运用在程序开发的过程中。现有主流的集成开发环境如Eclipse和Visual Studio都具有代码编译、项目管理和集成测试等功能,且在这些功能的基础上提供了强大的可供扩展的插件机制,这使得针对集成开发环境的优化工具研究变得越来越重要。在实际项目开发过程中,代码推荐(Code Recommendation)或“代码补全”(Code Completion)作为非常实用的辅助功能,被几乎所有的集成开发环境所提供。代码推荐功能在开发人员编写程序过程中,提供例如方法、属性和参数等推荐,能够缩短开发人员对于不熟悉的类库或框架的学习时间,减轻代码编写过程中输入完整方法类型名称的负担,避免编程过程中的拼写错误,从而提高软件开发效率。正是由于代码推荐功能对于项目开发过程带来的方便,近年来出现了越来越多针对代码推荐方面的研究。JavaScript作为一种流行的脚本语言,主要被运用于例如浏览器应用程序中,现已成为最流行的客户端脚本语言。而且JavaScript正被用于越来越多的领域,例如Windows8应用程序和服务器端。类似V8等针对JavaScript的高效执行引擎的出现也使得JavaScript能够在更多的领域发挥更大的作用。但是,对于JavaScript语言的代码推荐问题来说,传统的通过类型分析建立类型系统并给出代码推荐的方法具有推荐成功率低和效率不高等问题。特别是由于JavaScript是一种弱类型的程序语言,且具有高度的动态特性,使得针对JavaScript的程序分析问题变得具有挑战性。针对上述问题,本文在研究了现有的JavaScript代码推荐方法的基础上,提出了一种使用动态程序分析结合机器学习的代码推荐方法,采用事先建模的方法保存模拟运行环境,并且对上下文对象建立特征索引。同时在用户代码的抽象语法树的基础上进行代码分块,按程序分块顺序对用户代码进行模拟执行,利用对象之间相似度在用户运行时修正运行变量并对模拟执行时产生的异常进行处理,实现了针对用户代码的动态JavaScript代码提示。基于上述方法,本文对基于程序分析和机器学习的代码推荐方法进行了详细设计,采用“高内聚,低耦合”的设计思想,使得设计具有良好的可扩展性和可修改性,最终实现了一款基于Eclipse的代码推荐插件工具。最后,本文针对实现的代码推荐工具进行了实验验证,通过比较现有的JavaScript代码推荐工具进行了多组实验。实验结果表明,相比于现有的使用静态分析方法的JavaScript代码推荐技术,该方法具有更高的可推荐性和更快的响应速度。
其他文献
伴随城市安全需求的不断提高,政府对公共安全防护投资规模逐步提升,在智慧城市建设浪潮的推动下,智能安防成为必不可少的组成部分。十一五期间,国内平安城市项目的大力建设,使公共
随着近年来制造业的飞速发展,对于加工装配精度的要求也在不断提升,传统的加工装配方法精度已经不能满足科技领域的要求。纳米加工、纳米制造、纳米测量和装配等是制造业向高精
工程造价控制应贯穿于项目实施的全过程,同时工程全过程造价管理是一个动态管理的过程,是随着工程建设实践的不断深入而分阶段进行的,造价控制应贯穿于项目实施的全过程。各
2005年取消进口汽车配额以来,进口车市场在中国得到了高速的发展。中国市场已成为各汽车品牌最重要和最有成效的市场。2012年下半年以来,进口车市场也呈现出了新的变化:库存持续
运用文献计量学方法对2006-2012年我国民族文献研究论文从年代、期刊、高被引文献、作者和研究主题进行统计分析,试图对我国民族文献研究现状做出总结,从而为进一步研究和发
随着我国成功加入WTO后,石油石化工业接轨国际市场,国内企业所面临的经营机制和管理体制都发生了前所未有的重大变革。胜利油田是我国第二大石油生产基地,胜利油田改制企业是油
将灾害与文学结合的研究,近年来显示出强劲的学术发展态势和广阔的发展空间。李朝军教授《宋代灾害文学研究》一书,乃是古代文学领域第一本灾害文学研究的系统性专著,具有开
孙子日:"夫未战而庙算胜者,得算多也;未战而庙算不胜者,得算少也.多算胜少算不胜,而况于无算乎!"这里的"算"我们可以理解为推测、预测、分析、计划、谋划.而古人也有"凡事预
中国城市化快速发展带来了诸多严重的“城市病”,特别是在交通领域,所面临的形势与矛盾日益严峻。为此,结合当前各类高新技术,特别是物联网传感器技术的研究,诞生了诸多基于
目的:通过麻醉诱导前10分钟给予盐酸右美托咪定1.0μg/kg,继以0.3μg/kg/h的速率输注至关胸,探讨盐酸右美托咪定对单肺通气(one-lung ventilation, OLV)患者术中血TNF-α和IL-6