引用本文:郭德贵,王冠成,吕帅,刘磊.peC语言的部分求值器及在编译器测试中的应用.软件学报,2017,28(5):1221-1232
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览 4542次   下载 7466 本文二维码信息
码上扫一扫!
分享到: 微信 更多
peC语言的部分求值器及在编译器测试中的应用
郭德贵1,2, 王冠成1, 吕帅1,2,3, 刘磊1,4
1.吉林大学 计算机科学与技术学院, 吉林 长春 130012;2.符号计算与知识工程教育部重点实验室(吉林大学), 吉林 长春 130012;3.吉林大学 数学学院, 吉林 长春 130012;4.吉林大学 软件学院, 吉林 长春 130012
摘要:
部分求值技术在程序优化及软件自动生成等方面起着极为重要的作用.将部分求值技术应用到编译器测试中.为此,设计了一种C语言的子集peC语言,给出了该语言的部分求值策略的形式化描述,实现了peC语言的部分求值器,设计了基于部分求值技术的编译器测试框架.通过实验,该方法可以检测出大部分之前其他方法发现的GCC,LLVM编译器中的错误,此外还发现了其他方法不能发现的错误,这表明,将部分求值技术应用到编译器测试中是有效的.
关键词:  部分求值  剩余程序  测试用例  编译器测试  抽象语法树
DOI:10.13328/j.cnki.jos.005206
分类号:
基金项目:吉林省科技发展计划(20150101054JC,20140520069JH,20150520060JH);国家自然科学基金(61300049);教育部高等学校博士学科点专项科研基金(20120061120059);吉林大学研究生创新基金(2016181)
Partial Evaluator for peC and Its Application to Compiler Validation
GUO De-Gui1,2, WANG Guan-Cheng1, LÜ Shuai1,2,3, LIU Lei1,4
1.College of Computer Science and Technology, Jilin University, Changchun 130012, China;2.Key Laboratory of Symbolic Computation and Knowledge Engineering, Ministry of Education (Jilin University), Changchun 130012, China;3.College of Mathematics, Jilin University, Changchun 130012, China;4.College of Software, Jilin University, Changchun 130012, China
Abstract:
Partial evaluation plays an important role in many areas such as program optimization and automatic software generation. This paper applies partial evaluation to validating compilers. The design of peC, which is a subset of C, and the formalized description of partial evaluation strategy for peC are presented. Furthermore, the implementation of a partial evaluator for peC, and a compiler testing framework based on partial evaluation are provided. Experiments show that this new approach can not only detect errors which can be detected by other methods in GCC and LLVM but also found some errors which are not detected by the other methods. In summary, the work by this paper demonstrates applying partial evaluation in testing compilers is effective.
Key words:  partial evaluation  redundant program  test case  compiler testing  abstract syntax tree

引用本文:
【打印本页】   【下载PDF全文】   查看/发表评论  【EndNote】   【RefMan】   【BibTex】
←前一篇|后一篇→ 过刊浏览    高级检索
本文已被:浏览次   下载  
分享到: 微信 更多
摘要:
关键词:  
DOI:
分类号:
基金项目:
Abstract:
Key words: