首页> 中文学位 >基于程序分析和机器学习的JavaScript代码推荐研究
【6h】

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

代理获取

目录

封面

中文摘要

英文摘要

目录

第一章 绪论

1.1 研究背景与意义

1.2 相关工作

1.3 研究目标

1.4 研究内容

1.5 论文组织结构

1.6 本章小结

第二章 JavaScript代码推荐问题分析

2.1 对象类型分析困难

2.2 依赖框架及内置对象

2.3 推荐代码不完整

2.4 参数推荐

2.5 本章小结

第三章 方法描述

3.1 建立代码推荐模型

3.2 生成代码推荐

3.3 本章小结

第四章 工具设计与实现

4.1 代码推荐工作流程

4.2 整体架构

4.3 代码推荐模型

4.4 特征提取模块

4.5 代码执行模块

4.6 模型建立模块

4.7 执行用户代码模块

4.8 参数推荐模块

4.9 用户界面显示模块

4.10 本章小结

第五章 实验验证

5.1 实验环境说明

5.2 代码推荐测试代码说明

5.3 实验方法与标准

5.4 异常处理重复次数

5.5 与同类推荐工具比较

5.6 本章小结

第六章 总结与展望

6.1 全文总结

6.2 工作展望

参考文献

致谢

攻读学位期间发表的学术论文目录

声明

展开▼

摘要

集成开发环境(IDE)是一种帮助开发人员进行项目开发的应用程序,被广泛运用在程序开发的过程中。现有主流的集成开发环境如Eclipse和Visual Studio都具有代码编译、项目管理和集成测试等功能,且在这些功能的基础上提供了强大的可供扩展的插件机制,这使得针对集成开发环境的优化工具研究变得越来越重要。在实际项目开发过程中,代码推荐(Code Recommendation)或“代码补全”(Code Completion)作为非常实用的辅助功能,被几乎所有的集成开发环境所提供。代码推荐功能在开发人员编写程序过程中,提供例如方法、属性和参数等推荐,能够缩短开发人员对于不熟悉的类库或框架的学习时间,减轻代码编写过程中输入完整方法类型名称的负担,避免编程过程中的拼写错误,从而提高软件开发效率。正是由于代码推荐功能对于项目开发过程带来的方便,近年来出现了越来越多针对代码推荐方面的研究。JavaScript作为一种流行的脚本语言,主要被运用于例如浏览器应用程序中,现已成为最流行的客户端脚本语言。而且JavaScript正被用于越来越多的领域,例如 Windows8应用程序和服务器端。类似 V8等针对JavaScript的高效执行引擎的出现也使得JavaScript能够在更多的领域发挥更大的作用。但是,对于JavaScript语言的代码推荐问题来说,传统的通过类型分析建立类型系统并给出代码推荐的方法具有推荐成功率低和效率不高等问题。特别是由于JavaScript是一种弱类型的程序语言,且具有高度的动态特性,使得针对JavaScript的程序分析问题变得具有挑战性。
  本文针对上述问题,在研究现有的JavaScript代码推荐方法的基础上,提出了一种使用动态程序分析结合机器学习的代码推荐方法,采用事先建模的方法保存模拟运行环境,并且对上下文对象建立特征索引。同时在用户代码的抽象语法树的基础上进行代码分块,按程序分块顺序对用户代码进行模拟执行,利用对象之间相似度在用户运行时修正运行变量并对模拟执行时产生的异常进行处理,实现了针对用户代码的动态JavaScript代码提示。基于上述方法,对基于程序分析和机器学习的代码推荐方法进行了详细设计,采用“高内聚,低耦合”的设计思想,使得设计具有良好的可扩展性和可修改性,最终实现了一款基于Eclipse的代码推荐插件工具。最后,针对实现的代码推荐工具进行了实验验证,通过比较现有的JavaScript代码推荐工具进行了多组实验。实验结果表明,相比于现有的使用静态分析方法的JavaScript代码推荐技术,该方法具有更高的可推荐性和更快的响应速度。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号