一种融合静态与动态分析的JavaScript代码回归精简方法技术

技术编号:40957122 阅读:24 留言:0更新日期:2024-04-18 20:34
本发明专利技术公开了一种基于静态分析与动态分析的JavaScript代码回归精简方法,首先通过静态分析获取函数定义与函数调用的序列,然后利用JavaScript应用的测试套件,执行动态分析,获取静态分析遗漏或不能捕获的函数定义与函数调用序列,整理静态分析与动态分析的函数定义与函数调用,得到全局的函数调用链路信息,最后移除不在调用链路上的函数信息,得到最终的精简应用。该方法对于只基于静态分析或动态分析的方法无法得到完整调用路径问题进行优化,同时对于原有动态加载方案无法有效处理因为测试覆盖不足,或分析准确度不够导致初始应用程序不能有效满足使用问题,采用回归校正的方式,为其他应用提供更有效、更精简的JavaScript应用。

【技术实现步骤摘要】

本专利技术属于软件代码精简领域,具体涉及一种融合静态与动态分析的javascript代码回归精简方法。


技术介绍

1、javascript是最流行的编程语言之一,多年来一直是客户端web开发的通用语言。随着web应用的日渐发展,越来越多的javascript代码被应用在网页中,这催生一个活跃的生态系统。开发人员借助于npm包管理器等工具,可以引入和管理javascript开发库,这将开发人员从许多常规开发任务中解脱出来,提高了javascript开发人员的生产力和代码重用性。但是,随着javascript应用程序的功能越来越复杂、规模不断扩大,在引入javascript开发库的同时也存在大量问题。当应用程序包含大量并未使用的javascript代码时,代码将变得十分臃肿,从会导致用户需要消耗更多的网络资源去加载这些无关代码,使得页面加载时间大大超过了用户预期。尤其在网络速度较慢的情况下,这类性能开销问题带来的时间消耗更为明显。此外,大量无关代码在加载、解析、渲染过程中也会消耗更多的本地硬件资源,这种影响在低端设备上表现更加明显。

2、为了解决上本文档来自技高网...

【技术保护点】

1.一种融合静态与动态分析的JavaScript代码回归精简方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的融合静态与动态分析的JavaScript代码回归精简方法,其特征在于,所述步骤S2中,通过funcid和calleeid的对应关系,获取函数-被调用函数的调用对的过程,包括如下步骤:

3.根据权利要求1所述的融合静态与动态分析的JavaScript代码回归精简方法,其特征在于,所述步骤S4获取最终的执行函数集合R的过程,具体包括以下步骤:

【技术特征摘要】

1.一种融合静态与动态分析的javascript代码回归精简方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的融合静态与动态分析的javascript代码回归精简方法,其特征在于,所述步骤s2中,通过funcid和call...

【专利技术属性】
技术研发人员:俞东进符耀林王思轩陈信陈洁胡彬
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1