工具/库找到两个版本的javascript程序之间的差异

时间:2016-01-05 23:48:17

标签: javascript profiling code-analysis abstract-syntax-tree static-analysis

我正在开发一个项目,作为第一步,需要找到同一程序的两个版本之间的差异。 基本上,我应该能够将Javascript代码解析为AST(抽象语法树),然后在AST级别找到两个版本之间的差异。

比如说,我们有一个javascript程序:

v1.js

    function oddNo() {
      console.log('It is an odd number');
    }

    function evenNo() {
      console.log('It is an even number');
    }

    var n= 123;
    if (n % 2 == 0) {
     evenNo();
    }
    else {
     oddNo();
    }

v2.js

    function oddNo() {
      console.log('It is not a even number');
    }

    function evenNo() {
      console.log('It is an even number');
    }

    var n= 123;
    if (n % 2 == 0) {
     evenNo();
    }
    else {
     oddNo();
    }

在上面,v2.js对oddNo()函数进行了更改。

因此,我需要找到在下一版本中修改哪些功能的差异,并且还可以在下一版本中添加一些新功能。我需要找到差异并获得修改后的方法。 是否有任何现有的库或工具可以找到它?如果没有关于如何实施它们的任何想法?

提前致谢。

0 个答案:

没有答案