项目名称: 基于捕获/重放机制的客户端JavaScript应用调试与分析研究

项目编号: No.61472407

项目类型: 面上项目

立项/批准年度: 2015

项目学科: 自动化技术、计算机技术

项目作者: 吴国全

作者单位: 中国科学院软件研究所

项目金额: 86万元

中文摘要: 尽管软件开发者不断提高代码的质量,部署发布后的软件仍然存在bug。对于客户端JavaScript(JS)应用,由于采用事件驱动的执行模型以及JS语言本身的动态特性,导致其在实际运行时更易出现错误。为提高部署后的客户端JS应用的可靠性,课题研究提出一套基于捕获/重放机制的JS错误远程调试方法与分析技术。具体内容包括:基于捕获/重放机制的客户端JS应用远程调试框架,支持直接在客户端进行确定性重放;基于检查点和选择性重放的客户端JS应用错误快速重现技术;基于统计调试和动态污点分析的客户端JS应用bug分析和定位技术,支持发现引起错误的相关语句和相关输入;基于可变重放技术的bug修复确认机制;并在关键技术研究的基础上开发相应的原型工具。开发人员可以利用这套方法和工具,对实际部署后的客户端JS应用错误进行调试和分析,从而提高客户端JS应用调试的自动化程度和调试效率,降低系统维护成本。

中文关键词: Javascript;Web应用;捕获/重放;错误重现;软件调试

英文摘要: Although the developers try their best to improve the quality of software, deployed softwares are still have bugs. For client-side javascript application, as its event driven paradigm and dynamic characteristics of javascript language, deployed client side javascript applications are prone to various program errors. To improve the quality of deployed client-side javascript application, this project aims to explore the mechanism to debug and analyze field javascript failures based on capture/replay. Specifically, we will propose a novel remote debugging framework for client-side javascript application, which supports to replay the execution directly on the client; a new approach to reproduce javascript failures quickly based on checkpoint and selective replay; new javascript fault localization techniques based on statistical debug to locate the relevant statements and locate failure-relevant input based on dynamic taint analysis, and a novel mutable replay mechanism to support patch validation. We believe the result of this project will further improve the reliability of client-side javascript application and reduce its maintenance cost.

英文关键词: JavaScript;Web Application;capture/replay;failure reproduction;debug

成为VIP会员查看完整内容
0

相关内容

专知会员服务
28+阅读 · 2020年12月21日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
29+阅读 · 2020年12月17日
专知会员服务
79+阅读 · 2020年9月28日
【干货书】Python高级数据科学分析,424页pdf
专知会员服务
112+阅读 · 2020年8月7日
FPGA加速系统开发工具设计:综述与实践
专知会员服务
62+阅读 · 2020年6月24日
JavaScript 中的 7 个“杀手级”单行代码
AI前线
1+阅读 · 2022年3月8日
2022 年十大 JavaScript 框架
InfoQ
0+阅读 · 2022年1月27日
我用Transformer修复代码bug
夕小瑶的卖萌屋
1+阅读 · 2021年9月9日
已删除
将门创投
12+阅读 · 2019年7月1日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年4月19日
Arxiv
30+阅读 · 2021年8月18日
小贴士
相关资讯
JavaScript 中的 7 个“杀手级”单行代码
AI前线
1+阅读 · 2022年3月8日
2022 年十大 JavaScript 框架
InfoQ
0+阅读 · 2022年1月27日
我用Transformer修复代码bug
夕小瑶的卖萌屋
1+阅读 · 2021年9月9日
已删除
将门创投
12+阅读 · 2019年7月1日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
1+阅读 · 2009年12月31日
微信扫码咨询专知VIP会员