一种基于AST的软件版本演化对比分析方法

    公开(公告)号:CN107203468B

    公开(公告)日:2020-09-25

    申请号:CN201710258269.3

    申请日:2017-04-19

    Abstract: 本发明提供的是一种基于AST的软件版本演化对比分析方法。通过Unix的Diff命令对两个软件版本源码进行比对分析,将变化的源码分为三种源码块;通过语法分析器获取两个软件版本源码的AST信息,分析获取每一种源码块的每一行代码对应的AST信息;通过将获取的语法结点信息组合成一个组合信息,将标识一样的相邻代码行组合成模块;通过以模块为单位对比分析两个源码块的标识信息,根据模块演化情况进行分类分析,使用预处理、二次处理方法处理各种演化情况,并将演化信息存入数据库中,并转换成HTML代码。本发明和其他软件版本演化对比分析方法相比,能提高获取演化信息的准确率,并能提高软件版本演化分析的效率。

    一种基于AST的软件版本演化对比分析方法

    公开(公告)号:CN107203468A

    公开(公告)日:2017-09-26

    申请号:CN201710258269.3

    申请日:2017-04-19

    Abstract: 本发明提供的是一种基于AST的软件版本演化对比分析方法。通过Unix的Diff命令对两个软件版本源码进行比对分析,将变化的源码分为三种源码块;通过语法分析器获取两个软件版本源码的AST信息,分析获取每一种源码块的每一行代码对应的AST信息;通过将获取的语法结点信息组合成一个组合信息,将标识一样的相邻代码行组合成模块;通过以模块为单位对比分析两个源码块的标识信息,根据模块演化情况进行分类分析,使用预处理、二次处理方法处理各种演化情况,并将演化信息存入数据库中,并转换成HTML代码。本发明和其他软件版本演化对比分析方法相比,能提高获取演化信息的准确率,并能提高软件版本演化分析的效率。

Patent Agency Ranking