Learning to accelerate compiler testing

J Chen - Proceedings of the 40th International Conference on …, 2018 - dl.acm.org
Proceedings of the 40th International Conference on Software Engineering …, 2018dl.acm.org
Compilers are one of the most important software infrastructures. Compiler testing is an
effective and widely-used way to assure the quality of compilers. While many compiler
testing techniques have been proposed to detect compiler bugs, these techniques still suffer
from the serious efficiency problem. This is because these techniques need to run a large
number of randomly generated test programs on the fly through automated test-generation
tools (eg, Csmith). To accelerate compiler testing, it is desirable to schedule the execution …
Compilers are one of the most important software infrastructures. Compiler testing is an effective and widely-used way to assure the quality of compilers. While many compiler testing techniques have been proposed to detect compiler bugs, these techniques still suffer from the serious efficiency problem. This is because these techniques need to run a large number of randomly generated test programs on the fly through automated test-generation tools (e.g., Csmith). To accelerate compiler testing, it is desirable to schedule the execution order of the generated test programs so that the test programs that are more likely to trigger compiler bugs are executed earlier. Since different test programs tend to trigger the same compiler bug, the ideal goal of accelerating compiler testing is to execute the test programs triggering different compiler bugs in the beginning. However, such perfect goal is hard to achieve, and thus in this work, we design four steps to approach the ideal goal through learning, in order to largely accelerate compiler testing.
ACM Digital Library
Showing the best result for this search. See all results