@inproceedings{7ff3e391f08e43ad9d985c384db1b2f9,
title = "HALIVER: Deductive Verification and Scheduling Languages Join Forces",
abstract = "The HaliVer tool integrates deductive verification into the popular scheduling language Halide, used for image processing pipelines and array computations. HaliVer uses VerCors, a separation logic-based verifier, to verify the correctness of (1) the Halide algorithms and (2) the optimised parallel code produced by Halide when an optimisation schedule is applied to an algorithm. This allows proving complex, optimised code correct while reducing the effort to provide the required verification annotations. For both approaches, the same specification is used. We evaluated the tool on several optimised programs generated from characteristic Halide algorithms, using all but one of the essential scheduling directives available in Halide. Without annotation effort, HaliVer proves memory safety in almost all programs. With annotations HaliVer, additionally, proves functional correctness properties. We show that the approach is viable and reduces the manual annotation effort by an order of magnitude.",
keywords = "Deductive verification, Program correctness, Scheduling language",
author = "{van den Haak}, {Lars B.} and Anton Wijs and Marieke Huisman and {van den Brand}, Mark",
note = "Publisher Copyright: {\textcopyright} The Author(s) 2024.; 30th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2024, which was held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2024 ; Conference date: 06-04-2024 Through 11-04-2024",
year = "2024",
month = apr,
day = "5",
doi = "10.1007/978-3-031-57256-2_4",
language = "English",
isbn = "978-3-031-57255-5",
series = "Lecture Notes in Computer Science (LNCS)",
publisher = "Springer",
pages = "71--89",
editor = "Bernd Finkbeiner and Laura Kov{\'a}cs",
booktitle = "Tools and Algorithms for the Construction and Analysis of Systems",
address = "Germany",
}