Towards self-verification in finite difference code generation
File(s)DevitoVerfcn.pdf (398.07 KB)
Accepted version
Author(s)
Type
Conference Paper
Abstract
Code generation from domain-specific languages is becoming increasingly popular as a method to obtain optimised low-level 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.
Date Issued
2017-11-11
Date Acceptance
2017-09-18
Citation
Proceedings of the First International Workshop on Software Correctness for HPC Applications, 2017
ISBN
978-1-4503-5127-0
Publisher
ACM
Journal / Book Title
Proceedings of the First International Workshop on Software Correctness for HPC Applications
Copyright Statement
© 2017 ACM. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published: https://dl.acm.org/citation.cfm?doid=3145344.3145488
Sponsor
Intel Corporation
Argonne National Laboratory
Grant Number
PESCI Donation
7F-30084
Source
SC17
Publication Status
Published
Start Date
2017-11-12
Finish Date
2017-11-17
Coverage Spatial
Denver, CO