Towards self-verification in finite difference code generation

2Citations
Citations of this article
10Readers
Mendeley users who have this article in their library.

Abstract

Code generation from domain-specific languages is becoming increasingly popular as a method to obtain optimised lowlevel code that performs well on a given platform and for a given problem instance. Ensuring the correctness of generated codes is crucial. At the same time, testing or manual inspection of the code is problematic, as the generated code can be complex and hard to read. Moreover, the generated code may change depending on the problem type, domain size, or target platform, making conventional code review or testing methods impractical. As a solution, we propose the integration of formal verification tools into the code generation process. We present a case study in which the CIVL verification tool is combined with the Devito finite difference framework that generates optimised stencil code for PDE solvers from symbolic equations. We show a selection of properties of the generated code that can be automatically specified and verified during the code generation process. Our approach allowed us to detect a previously unknown bug in the Devito code generation tool.

Cite

CITATION STYLE

APA

Hückelheim, J., Luo, Z., Luporini, F., Kukreja, N., Lange, M., Gorman, G., … Hovland, P. (2017). Towards self-verification in finite difference code generation. In Proceedings of Correctness 2017: 1st International Workshop on Software Correctness for HPC Applications - Held in conjunction with SC 2017: The International Conference for High Performance Computing, Networking, Storage and Analysis (pp. 42–49). Association for Computing Machinery, Inc. https://doi.org/10.1145/3145344.3145488

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