RandIR: Differential testing for embedded compilers

22Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.
Get full text

Abstract

This paper describes RandIR, a tool for differential testing of compilers using random instances of a given intermediate representation (IR). RandIR assumes no fixed target language but instead supports extensible IR-definitions through an internal IR-independent representation of operations. This makes it particularly well suited to test embedded compilers for multi-stage programming, which is our main use case. The ideas underlying our work, however, are more generally applicable. RandIR is able to automatically simplify failing instances of a test, a technique commonly referred to as shrinking. This enables testing with large random IR samples, thus increasing the odds of detecting a buggy behavior, while still being able to simplify failing instances to human-readable code.

Cite

CITATION STYLE

APA

Ofenbeck, G., Rompf, T., & Püschel, M. (2016). RandIR: Differential testing for embedded compilers. In SCALA 2016 - Proceedings of the 2016 7th ACM SIGPLAN Symposium on Scala (pp. 21–30). Association for Computing Machinery, Inc. https://doi.org/10.1145/2998392.2998397

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free