A Program Logic for Dependence Analysis

Read and write dependences of program variables are essential to determine whether and how a loop or a whole program can be parallelized. State-of-the-art tools for parallelization use approaches that over- as well as under-approximate to compute dependences and they lack a formal foundation. In thi...

Full description

Saved in:
Bibliographic Details
Published inIntegrated Formal Methods Vol. 11918; pp. 83 - 100
Main Authors Bubel, Richard, Hähnle, Reiner, Heydari Tabar, Asmae
Format Book Chapter
LanguageEnglish
Published Switzerland Springer International Publishing AG 2019
Springer International Publishing
SeriesLecture Notes in Computer Science
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Read and write dependences of program variables are essential to determine whether and how a loop or a whole program can be parallelized. State-of-the-art tools for parallelization use approaches that over- as well as under-approximate to compute dependences and they lack a formal foundation. In this paper, we give formal semantics of read and write data dependences and present a program logic that is able to reason about dependences soundly and with full precision. The approach has been implemented in the deductive verification tool KeY for the target language Java.
Bibliography:This work was funded by the Hessian LOEWE initiative within the Software-Factory 4.0 project.
ISBN:9783030349677
3030349675
ISSN:0302-9743
1611-3349
DOI:10.1007/978-3-030-34968-4_5