会议专题

CCodeExtractor:一种针对C程序自动化的函数提取方法

随着程序规模和复杂性的增加,代码重构在改善软件质量、性能,以及提高软件的扩展性和维护性等方面至关重要.目前的Eclipse中C源代码重构工具的函数提取,只能处理一些简单的代码,且处理过程需要人工参与,不能自动化处理.本文提出一种C源代码级别自动化的函数提取方法(CCodeExtractor),通过指定提取条件,在保证语义一致的前提下,将符合条件的代码片段自动分离成一个单独的函数并放到新文件中,而原代码片段替换成了一个函数调用.为了验证CCodeExtractor的有效性,并结合循环分析和优化在实际应用中的广泛应用,我们在LLVM上实现了一个提取循环的工具,将程序中)满足条件的for循环封装成单独的函数.在实验中,使用该工具对6个不同规模的程序进行了测试并且对比了变换前后程序运行的结果,实验结果表明CCodeExtractor代码提取方法在保证程序语义不变的前提下,适用于不同规模的程序.

C程序重构 程序变换 代码提取 信息处理

张其良 张昱 周坤

中国科学技术大学,计算机科学与技术学院,合肥230026

国内会议

第十四届全国软件与应用学术会议

武汉

中文

1-7

2015-11-06(万方平台首次上网日期,不代表论文的发表时间)