高级检索
    陶秋铭, 赵 琛, 王永吉. 一种基于过程图模型的编译优化测试程序自动生成方法[J]. 计算机研究与发展, 2009, 46(9): 1567-1577.
    引用本文: 陶秋铭, 赵 琛, 王永吉. 一种基于过程图模型的编译优化测试程序自动生成方法[J]. 计算机研究与发展, 2009, 46(9): 1567-1577.
    Tao Qiuming, Zhao Chen, Wang Yongji. An Automated Method of Test Program Generation for Compiler Optimizations Based on Process Graph[J]. Journal of Computer Research and Development, 2009, 46(9): 1567-1577.
    Citation: Tao Qiuming, Zhao Chen, Wang Yongji. An Automated Method of Test Program Generation for Compiler Optimizations Based on Process Graph[J]. Journal of Computer Research and Development, 2009, 46(9): 1567-1577.

    一种基于过程图模型的编译优化测试程序自动生成方法

    An Automated Method of Test Program Generation for Compiler Optimizations Based on Process Graph

    • 摘要: 近年来,以数据依赖分析为基础的高级编译优化成为现代编译器的重要研发内容.针对这类编译优化的测试问题提出了一种测试程序自动生成方法,能够根据指定的数据依赖特征生成测试程序.首先设计了LoSpec语言用以描述测试程序,然后采用一种便于表示数据依赖关系的模型——过程图作为中间表示模型实现了测试程序的自动生成,并开发了自动测试工具LoTester.与已有方法相比,该方法对高级优化更具针对性,自动化程度较高. LoTester目前在一款面向多媒体应用的优化编译器EECC的开发中得到应用并获得了良好效果.

       

      Abstract: Compiler is the fundamental tool for software development, and its dependability is undoubtedly significant. As an effective and efficient means to assure the quality of compilers, automatic testing has attracted much attention from academic world and industry. Optimizations are indispensable functions of modern compilers, and in recent years, the advanced optimizations which are based on data dependence analysis have become important development issues of modern compilers. To automatically test these optimizations, a method of test program generation is proposed, which can automatically generate test programs according to specified features of test program’s data dependence. The authors have designed LoSpec language for specifying test programs, realized automatic test program generation by adopting a special program model for easily representing data dependence—process graph, as the intermediate model, and developed an automated test tool, LoTester. Compared with other existing methods, this method is more effective for advanced optimizations and combined optimizations, and has a higher degree of automation. As an automatic test tool, LoTester can be used to conduct abundant testing in early development phases of optimizing compilers, which is favorable for finding bugs earlier. So far LoTester has been applied in the development of EECC, an optimizing compiler oriented at multimedia applications, and has yielded good results.

       

    /

    返回文章
    返回