基于源码变更分析的程序中间代码生成技术  

An Intermediate Representation Generation Based on Code Change Analysis

在线阅读下载全文

作  者:黄海汇 陈雨亭[2] 

机构地区:[1]上海交通大学软件学院,上海200240 [2]上海交通大学计算机科学与工程系,上海200240

出  处:《计算机与现代化》2016年第6期19-23,28,共6页Computer and Modernization

基  金:国家自然科学基金资助项目(61572312)

摘  要:当前存在很多针对程序中间代码变更进行的程序增量分析、验证技术。为更有效地在实际中应用这些技术,如何获取程序中间代码的变更信息成为一个关键研究问题。本文主要研究通过提取源码的变更,将源码变更映射至中间代码变更的新的程序中间代码生成技术IRChange。IRChange基于Clang和LLVM中间代码,在源码中添加标记,在程序编译过程中传递变更标记;进一步地,将变更前中间代码与变更标记进行合成,以生成新的中间代码。实验结果表明,本文所获取的带增量信息的中间代码不仅具有较高正确性,且可以用于中间代码的差异分析,为增量程序分析、验证提供便利。Nowadays there exist many incremental program analysis and verification techniques,while working on intermediate representations. In order to make these techniques more practical,this paper proposes an approach to extract the program changes at the source code level,and then propagates these changes to the intermediate representations. We design a novel approach called IRChange,on the basis of LLVM and Clang,adding annotations indicating the changes to the source code,and then transferring the changes at the compiling time. Furthermore,new intermediate representations can be generated through synthesizing old intermediate representations and the annotations with change information. The experiment results show that new intermediate representations are correct. It also can be used for diff analysis at the intermediate representation level,so that the increments can be used for incremental program analysis and verification.

关 键 词:源码变更 中间代码生成 标记 

分 类 号:TP311[自动化与计算机技术—计算机软件与理论]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象