w3ctech

JavaScript反变量缩略和模糊引擎

JSNice是什么?

JSNice http://www.jsnice.org 是一个用统计方式对JavaScript代码反模糊和变量缩短的引擎. JSNice可以自动地对给定的代码的变量名和变量类型进行定义. 它是由苏黎世联邦理工大学Martin Vechev教授领带下的开发的工具.

JSNice有什么用?

JSNice可以用于以下不同的方面: 反缩略JavaScript代码; 对当前的程序提供更多的更有意义的变量名; 自动化程序的注释.

JSNice是如何工作的?

JSNice实用先进的机器学习和程序分析方法, 利用大量的开源代码, 去学习命名和类型的规律. (当前, 我们使用了GitHub里的一万个JavaScript项目). 之后, 输入JavaScript代码, JSNice用概率的方法为局部变量和方法参数推测出新的变量名和变量类型. 我们计划在最近发布JSNice的完整版.

JSNice的精确性?

在实验中, 我们发现JSNice能有效地对代码反模糊和反缩略. 超过60%的变量名可以被恢复到被缩略前的名字. 另外, JSNice可建议出多个变量名, 我们提供了一套UI可以浏览这些提供的变量名, 用户可以选择其中合适的一个.

w3ctech微信

扫码关注w3ctech微信公众号

共收到2条回复

  • 支持

    回复此楼
  • 好东东啊!

    回复此楼