收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

基于静态分析和动态执行的JavaScript代码精简的研究与实现

高琼  
【摘要】:近年来,Web应用场景日趋丰富,应用功能也越来越复杂,许多网站都导入大型JavaScript库,以加快开发效率、增强用户体验。然而,许多JavaScript库在页面加载期间仅被部分利用,却被全部打包进捆绑包中。冗余的JavaScript代码增加了页面的权重,从而增加了下载、解析和编译JavaScript资源的时间。因此,优化JavaScript资源的有效负载以提高Web性能非常重要。而现有的模块化精简方案分析粒度大,导致函数粒度上仍存在大量的冗余。另外,静态分析难以识别JavaScript动态特性,动态分析又受限于测试覆盖率易发生误报,单独的分析类型不足以识别更为精准的冗余代码。针对以上问题,本文提出了结合静态结构分析和动态跟踪技术的混合分析方法来识别应用程序中的冗余代码,并实现了优化应用程序部署包大小的工具。主要研究成果体现在如下三个方面:(1)设计了一种多层级的静态分析结构来构建函数调用图,实现了函数粒度上的精简,细化了检测冗余代码的粒度。首先在模块层级,依据模块间的依赖关系对JavaScript文件进行分组,并对每个文件做了依赖路径分析,防止公共依赖的重复计算。其次在函数层级,以分组为单位,收集函数信息,分析调用关系,识别并报告了静态结构下的冗余函数调用。对比实验表明该静态分析结构能有效识别函数调用边并提高了检测精度。(2)提出了基于静态分析和动态执行的混合分析策略,提高了识别冗余函数的准确度。方案首先利用工具Jalangi进行动态插桩,并使用被动测量技术获取应用程序实际加载中JavaScript资源的使用情况,对静态分析难以识别的动态特性进行运行时轨迹收集,保证了代码覆盖范围。最后合并动静态结果生成混合函数调用图,识别图中根节点不可达的函数节点为冗余。(3)基于以上策略设计并实现JavaScript代码精简工具。该工具包括静态统计功能、动态插桩功能、冗余优化功能,并能对识别的冗余函数的函数体进行精简。对比实验结果表明,该工具简单有效,平均减少了部署包中28.59%的代码量,在保证代码健壮性的基础上,优化了应用程序加载性能。


知网文化
【相似文献】
中国期刊全文数据库 前17条
1 李凯;何永辉;张素芬;;综合电子信息系统软件静态分析技术的应用[J];指挥信息系统与技术;2014年06期
2 辛慎;;变静态分析为动态体验[J];考试与评价;2015年04期
3 邓力;静态分析之二:抽样推断[J];中国统计;2004年05期
4 赵三军;段梦兰;李旭东;刘亚磊;罗晓兰;代广文;李博;;基于ABAQUS/Explicit的深水连接器准静态分析[J];石油矿场机械;2014年08期
5 Richard E.Fairley;魏启彤;;计算机软件的静态分析和动态测试述评[J];计算机科学;1982年05期
6 徐律冠;陈仁泽;张凌志;;静态分析技术在代码质量管理中的应用[J];信息技术;2021年07期
7 刘嘉熹;;一种基于静态分析的漏洞分类方案[J];网络安全技术与应用;2018年08期
8 杨亮;;工厂化养猪中的生产静态分析[J];农业网络信息;2006年11期
9 李顺华;TMS320软件静态分析工具的开发与应用[J];质量与可靠性;2000年05期
10 邹帆;何锋;李真;冯春亮;;基于ABAQUS的客车车身骨架静态分析与轻量化研究[J];农业装备与车辆工程;2013年11期
11 文昌辞,王昭顺;软件测试自动化静态分析研究[J];计算机工程与设计;2005年04期
12 吉国明;孙刚;张量;;承受轴压载荷的加筋板的准静态分析[J];机械强度;2013年03期
13 魏苗;吴毅坚;沈立炜;彭鑫;赵文耘;;基于静态分析的JavaScript类型失配缺陷查找[J];计算机科学;2017年04期
14 常宇;;对游客旅游效用满足最大化的静态分析[J];经济师;2011年05期
15 丁忠校;;汇编语言静态分析工具设计与应用[J];微计算机信息;2007年21期
16 张少白,曹豫莪;静态分析器在软件开发环境中的应用[J];陕西师大学报(自然科学版);1994年03期
17 陈星;张飞翔;;力学多过程的准静态分析[J];中学物理;2014年11期
中国重要会议论文全文数据库 前20条
1 姚欣洪;宫云战;杨朝红;;一种基于代码静态分析的缓冲区溢出检测算法[A];第六届中国测试学术会议论文集[C];2010年
2 方义;方伟;;一种基于QAC的自动化静态分析部署方法[A];2017年(第三届)中国航空科学技术大会论文集(上册)[C];2017年
3 万琳;刘娟;金丽亚;;未初始化变量故障的静态分析[A];第四届中国测试学术会议论文集[C];2006年
4 李向东;刘晓;夏冰;郑秋生;;恶意代码检测技术及其在等级保护工作中的应用[A];第27次全国计算机安全学术交流会论文集[C];2012年
5 段寿建;张旭洁;胡绍波;李忠态;;基于JavaScript和PHP的多级联动下拉菜单的设计与实现[A];AECC专题学术研讨会论文集[C];2007年
6 孙奇;李宗伯;;代码混淆技术综述[A];2011年全国通信安全学术会议论文集[C];2011年
7 王剑;杨琪;万英杰;鲍远松;;C++程序提高代码可靠性方案研究与实践[A];全国冶金自动化信息网2014年会论文集[C];2014年
8 宋亚奇;李莉;;基于EL的Java混淆器设计与实现[A];2008通信理论与技术新进展——第十三届全国青年通信学术会议论文集(上)[C];2008年
9 张芮;胡影;郑康锋;;基于行为分析的恶意代码潜伏性评估方法[A];2013年中国信息通信研究新进展论文集[C];2014年
10 祁鹏;宫云战;金大海;;面向故障的C++程序全局静态分析框架[A];第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集[C];2009年
11 刘凯;蔡圣伟;;移动互联网恶意代码监测技术浅析[A];第二届全国信息安全等级保护技术大会会议论文集[C];2013年
12 连甫;;谈文化代码[A];外语语言教学研究——黑龙江省外国语学会第十一次学术年会论文集[C];1997年
13 田海波;方宗德;寇发荣;;一种六轮行星探测车的结构及其准静态分析[A];中国宇航学会深空探测技术专业委员会第三届学术会议论文集[C];2006年
14 王雅文;宫云战;肖庆;杨朝红;;区间运算在软件缺陷检测中的应用[A];第五届中国测试学术会议论文集[C];2008年
15 刘威;杜振华;苏圣魁;;一种恶意代码评估和预测方法的研究[A];全国计算机安全学术交流会论文集·第二十五卷[C];2010年
16 游文杰;;用Javascript实现XML文档数据检索[A];福建师大福清分校2003年会议论文汇编[C];2003年
17 万琳;廖飞雄;张威;李明亮;;一种恶意代码检测方法的实现[A];第十四届全国容错计算学术会议(CFTC'2011)论文集[C];2011年
18 高华云;;关于我国气象代码过渡的思考[A];信息技术在气象领域的开发应用论文集(二)[C];2006年
19 张健;舒心;杜振华;曹鹏;苏圣魁;王劲松;;一种评估恶意代码危害性方法的研究[A];全国计算机安全学术交流会论文集(第二十四卷)[C];2009年
20 梁宏;张健;肖新光;邱永良;;浅谈手机恶意代码捕获体系[A];全国计算机安全学术交流会论文集(第二十二卷)[C];2007年
中国博士学位论文全文数据库 前20条
1 王承松;Typestate性质运行时验证的关键技术研究[D];国防科学技术大学;2016年
2 王祥根;自修改代码逆向分析方法研究[D];中国科学技术大学;2009年
3 张刚;代码克隆扩展分析及管理技术研究[D];复旦大学;2013年
4 李鹏;通信网络恶意代码及其应急响应关键技术研究[D];南京邮电大学;2013年
5 吴鸣;差异代码克隆的检测算法研究及其应用[D];中国科学技术大学;2021年
6 边奕心;可重构克隆代码的过程提取方法研究[D];哈尔滨工业大学;2014年
7 陈立前;基于区间线性抽象域的可靠浮点及非凸静态分析[D];国防科学技术大学;2010年
8 解培岱;恶意代码行为挖掘关键技术研究[D];国防科学技术大学;2013年
9 芦天亮;基于人工免疫系统的恶意代码检测技术研究[D];北京邮电大学;2013年
10 潘剑锋;主机恶意代码检测系统的设计与实现[D];中国科学技术大学;2009年
11 韩晓光;恶意代码检测关键技术研究[D];北京科技大学;2015年
12 孔德光;结合语义的统计机器学习方法在代码安全中应用研究[D];中国科学技术大学;2010年
13 文伟平;恶意代码机理与防范技术研究[D];中国科学院研究生院(软件研究所);2005年
14 张红;可移动类进程代数及其静态分析技术在系统生物学领域中应用的研究[D];吉林大学;2008年
15 任卓君;基于深度学习的恶意代码可视化检测及分类研究[D];东华大学;2020年
16 李仁见;堆操作程序分析验证技术研究[D];国防科学技术大学;2011年
17 姜德迅;代码坏味检测方法研究及重构分析[D];哈尔滨工业大学;2014年
18 刘巍伟;基于可信计算技术的移动代码安全研究[D];北京交通大学;2009年
19 姬秀娟;资源泄露故障静态分析的关键技术研究[D];南开大学;2014年
20 肖庆;提高静态缺陷检测精度的关键技术研究[D];北京邮电大学;2012年
中国硕士学位论文全文数据库 前20条
1 高琼;基于静态分析和动态执行的JavaScript代码精简的研究与实现[D];北京邮电大学;2021年
2 孙亮;程序静态分析结果的交互式排序方法研究[D];国防科技大学;2017年
3 葛国建;智能硬件系统的仿真与安全检测研究[D];上海交通大学;2017年
4 张丽;代码静态分析工具的能力评估与集成优化技术研究[D];国防科学技术大学;2017年
5 邱子谨;基于静态分析技术的PHP代码自动化缺陷检测工具的研究与设计[D];北京邮电大学;2018年
6 刘湿润;基于缺陷模式静态分析中数据流精确性的研究[D];北京邮电大学;2017年
7 徐青;JavaScript恶意代码检测技术研究[D];西南交通大学;2014年
8 赵芳;基于软件工程中主流静态分析工具的分类模型[D];兰州大学;2020年
9 曾平;基于浏览器嵌入规则的非安全JavaScript检测与分析[D];湖南大学;2011年
10 孟雨;基于机器学习的JavaScript恶意代码检测技术的设计与实现[D];北京邮电大学;2021年
11 曲文鹏;基于机器学习的JavaScript恶意代码检测技术研究[D];山东理工大学;2019年
12 龙廷艳;基于深度学习的JavaScript恶意代码检测技术的研究与应用[D];贵州大学;2019年
13 王鹏;基于信息熵的JavaScript恶意代码检测工具设计与实现[D];新疆大学;2019年
14 匡开圆;基于WebAssembly的JavaScript代码虚拟化保护方法研究与实现[D];西北大学;2018年
15 吴宏程;基于机器学习的JavaScript恶意代码检测系统的研究与实现[D];北京邮电大学;2018年
16 黎遇军;使用离线profile提升JavaScript程序的类型可预测性[D];中国科学技术大学;2017年
17 李英各;嵌入式浏览器中JavaScript的设计与实现[D];电子科技大学;2005年
18 吴通;基于程序分析和机器学习的JavaScript代码推荐研究[D];上海交通大学;2014年
19 刘浩;基于JavaScript的单元测试框架设计[D];西安电子科技大学;2015年
20 侯婷婷;静态分析与动态监测相结合的Java源代码缺陷检测技术研究与实现[D];北京邮电大学;2016年
中国重要报纸全文数据库 前20条
1 本报记者 潘希 通讯员 姜宁 谢波;走近“神九”飞船代码解读者[N];中国科学报;2012年
2 本报记者 华凌;机器编程驾到 未来全球78亿人都能写代码?[N];科技日报;2021年
3 见习记者 周敏 通讯员 徐美玲;“雨花软件”敲下全球“创新代码”[N];新华日报;2021年
4 通讯员 谢一可 唐梦娇 本报记者 赵汉斌;他用代码谱写抗疫“音符”[N];科技日报;2020年
5 本报记者 袁一雪;代码泄露:是技术不硬,还是防范不周?[N];中国科学报;2017年
6 本报记者 王延斌;代码超过50万行 早餐自提柜里藏着新技术[N];科技日报;2020年
7 记者 刘志勇;治疗等效性药品将有评价代码[N];健康报;2018年
8 本报记者 王梦婕;陈本峰:用代码实现“无处不移动”[N];中国青年报;2013年
9 本报见习记者 邢萌;游离监管之外的币圈有多乱?报告揭示八成数字货币涉嫌“抄袭代码”[N];证券日报;2018年
10 陈泽清;出口货物上海通关企业须携带登记备案代码[N];国际商报;2004年
11 记者 岳德亮;杭州首创代码办案,罚款电脑说了算[N];新华每日电讯;2008年
12 武晓黎;内置固化代码手机将被禁止入市[N];中国消费者报;2007年
13 记者  李桐;“中国口岸及有关地点代码标准研讨会”在京召开[N];中国国门时报;2006年
14 本报记者 王剑;代码面前人人平等[N];中国科学报;2014年
15 中国人民银行征信管理局局长 王煜;大力推广机构信用代码 建立机构“经济身份证”制度[N];金融时报;2013年
16 鲍仁;郑商所提示新合约代码变化影响[N];期货日报;2008年
17 本报记者 曾星;如何申报NPC代码[N];中国国门时报;2003年
18 ;Microsoft将获SCO Unix代码许可[N];计算机世界;2003年
19 武雅明;山西接入代码调整和统一工作完成[N];人民邮电;2007年
20 本报记者 巫伟;SP服务代码启动“四网合一”[N];南方日报;2006年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978