Language-Agnostic Compiler Testing
Language-Agnostic Compiler Testing
批准号:
RGPIN-2019-06106
负责人:
Sun, Chengnian
金额:
$2.04万
依托单位:
依托单位国家:
加拿大
项目类别:
Discovery Grants Program - Individual
财政年份:
2019
资助国家:
加拿大
项目状态:
已结题
起止时间:
2019-01-01 至 2020-12-31
中文摘要
点击翻译按钮获取中文摘要
英文摘要
Compilers are among the most important, widely-used and complex software systems ever written. They are the trusted foundation for building other software (and also themselves). Perhaps less known to application developers is that production compilers do also contain bugs (in fact quite a few), which frustrate programmers and may lead to mysterious program failures or even catastrophic consequences in safety-critical domains. For example, compiler crashes hinder software development and maintenance process, and bugs in optimizers are daunting because they cause programs silently to be compiled to wrong binary code. To prevent these nuisances, it is important to devise novel, effective methodologies, techniques and tools for validating complex, real-world compilers.******As formal compiler verification is yet to be practical for production compilers, testing remains the dominant technique for compiler quality assurance. However, testing is inadequate in general because of the complexity of compilers and the difficulty in constructing rich sets of test programs. The key challenge of compiler testing is how to effectively generate diverse test programs to exercise different code paths in compilers. Moreover, a large number of programming languages exist. A good testing technique is usually specific to a single language. To apply a testing technique to a compiler of another language, a substantial amount of engineering effort is usually required to re-implement/customize the technique. ******This proposal aims to explore novel, practical techniques for validating multiple compilers of different languages. Specifically, the goal is to devise a general approach to automatically generate diverse, high-quality test programs. Concretely, I plan to tackle this problem in three different ways: (1) language-agnostic program generation with constraint solving, (2) language-agnostic program mutation, and (3) program generation with machine learning. All the three directions are orthogonal to, and complement one another. ******This program concerns a technically very challenging problem and can lead to novel techniques for validating multiple production compilers. The program can also provide deeper and more thorough understanding of the characteristics of compiler bugs. The gained insights can help advance the state-of-the-art in engineering more trustworthy and user-friendly compilers. First, developers will benefit from this program as compilers are indispensable components of the software development process. Second, the program will not only lead to more reliable and usable compilers, but also indirectly improve the quality of every piece of software that our daily lives increasingly depend upon. Third, this program will also benefit local Canadian companies that focus on developing compilers for different platforms, e.g., FPGA compilers.**
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
Language-Agnostic Compiler Testing
-
批准号:RGPIN-2019-06106
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.04万
-
财政年份:2022
-
负责人:Sun, Chengnian
-
依托单位:
Language-Agnostic Compiler Testing
-
批准号:RGPIN-2019-06106
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.04万
-
财政年份:2021
-
负责人:Sun, Chengnian
-
依托单位:
Language-Agnostic Compiler Testing
-
批准号:RGPIN-2019-06106
-
项目类别:Discovery Grants Program - Individual
-
资助金额:$2.04万
-
财政年份:2020
-
负责人:Sun, Chengnian
-
依托单位:
Language-Agnostic Compiler Testing
-
批准号:DGECR-2019-00398
-
项目类别:Discovery Launch Supplement
-
资助金额:$0.91万
-
财政年份:2019
-
负责人:Sun, Chengnian
-
依托单位:
海外基金