首页> 外文会议>International Conference on Software Engineering >Recovering Variable Names for Minified Code with Usage Contexts
【24h】

Recovering Variable Names for Minified Code with Usage Contexts

机译:使用用法上下文为精简代码恢复变量名

获取原文
获取外文期刊封面目录资料

摘要

To avoid the exposure of original source code in a Web application, the variable names in JS code deployed in the wild are often replaced by short, meaningless names, thus making the code extremely difficult to manually understand and analysis. This paper presents JSNeat, an information retrieval (IR)-based approach to recover the variable names in minified JS code. JSNeat follows a data-driven approach to recover names by searching for them in a large corpus of open-source JS code. We use three types of contexts to match a variable in given minified code against the corpus including the context of the properties and roles of the variable, the context of that variable and relations with other variables under recovery, and the context of the task of the function to which the variable contributes. We performed several empirical experiments to evaluate JSNeat on the dataset of more than 322K JS files with 1M functions, and 3.5M variables with 176K unique variable names. We found that JSNeat achieves a high accuracy of 69.1%, which is the relative improvements of 66.1% and 43% over two state-of-the-art approaches JSNice and JSNaughty, respectively. The time to recover for a file or a variable with JSNeat is twice as fast as with JSNice and 4x as fast as with JNaughty, respectively.
机译:为了避免将原始源代码暴露在Web应用程序中,通常将野外部署的JS代码中的变量名替换为短而无意义的名称,从而使手动操作和理解代码变得极为困难。本文介绍了JSNeat,这是一种基于信息检索(IR)的方法,用于以最小的JS代码恢复变量名。 JSNeat遵循一种数据驱动的方法,通过在大型开源JS代码库中搜索名称来恢复名称。我们使用三种类型的上下文将给定的最小化代码中的变量与语料库进行匹配,包括变量的属性和角色的上下文,该变量的上下文以及与正在恢复的其他变量的关系以及任务的上下文。变量所贡献的功能。我们执行了一些实验性实验,以对超过322K个JS文件(具有1M个函数)和3.5M个变量(具有176K个唯一变量名)的数据集进行评估。我们发现JSNeat达到了69.1%的高精度,这相对于两种最新方法JSNice和JSNaughty分别达到了66.1%和43%的相对改进。使用JSNeat还原文件或变量的时间分别是使用JSNice的速度的两倍和使用JNaughty的速度的4倍。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号