Heydari Tabar, Asmae (2024)
Automatic Data Dependence Analysis by Deductive Verification.
Technische Universität Darmstadt
doi: 10.26083/tuprints-00026722
Dissertation, Erstveröffentlichung, Verlagsversion
Kurzbeschreibung (Abstract)
In the realm of High-Performance Computing (HPC), the parallelization of programs holds significant importance. However, the correctness of parallelization hinges on the reliable exclusion of certain data dependences, such as read-after-write dependences, where a read access follows a write access on a given memory location. It is imperative that data dependence analyses are not only correct but also as precise as possible to seize every opportunity for parallelization.
While various static, dynamic, and hybrid analysis approaches have been proposed within the HPC community, none have been based on program logic and deductive verification, despite the significant advantages this approach offers, including soundness, precision, and modularity.
In this thesis, we present an automatic, sound, and highly precise approach to generate data dependences based on deductive verification. We define a program logic based on precise semantics for data dependences. As loops are usually the main source of parallelization in HPC applications, we equip our approach with an automatic loop invariant generation technique in the same program logic. To achieve full automation, we incorporate predicate abstraction tailored to the needs of data dependence analysis. To retain as much precision as possible, we generalize logic-based symbolic execution to compute abstract data dependence predicates.
We provide a prototype demonstrating that fully automatic data dependence analysis based on deductive verification is feasible and is a promising alternative to the dependence analyses commonly used in HPC. Implementing our approach for Java atop a deductive verification tool, we conducted evaluations demonstrating its ability to analyze data dependences highly precisely for representative code extracted from HPC applications.
Typ des Eintrags: | Dissertation | ||||
---|---|---|---|---|---|
Erschienen: | 2024 | ||||
Autor(en): | Heydari Tabar, Asmae | ||||
Art des Eintrags: | Erstveröffentlichung | ||||
Titel: | Automatic Data Dependence Analysis by Deductive Verification | ||||
Sprache: | Englisch | ||||
Referenten: | Hähnle, Prof. Dr. Reiner ; Rümmer, Prof. Dr. Philipp | ||||
Publikationsjahr: | 6 August 2024 | ||||
Ort: | Darmstadt | ||||
Kollation: | xxv, 164 Seiten | ||||
Datum der mündlichen Prüfung: | 24 April 2024 | ||||
DOI: | 10.26083/tuprints-00026722 | ||||
URL / URN: | https://tuprints.ulb.tu-darmstadt.de/26722 | ||||
Kurzbeschreibung (Abstract): | In the realm of High-Performance Computing (HPC), the parallelization of programs holds significant importance. However, the correctness of parallelization hinges on the reliable exclusion of certain data dependences, such as read-after-write dependences, where a read access follows a write access on a given memory location. It is imperative that data dependence analyses are not only correct but also as precise as possible to seize every opportunity for parallelization. While various static, dynamic, and hybrid analysis approaches have been proposed within the HPC community, none have been based on program logic and deductive verification, despite the significant advantages this approach offers, including soundness, precision, and modularity. In this thesis, we present an automatic, sound, and highly precise approach to generate data dependences based on deductive verification. We define a program logic based on precise semantics for data dependences. As loops are usually the main source of parallelization in HPC applications, we equip our approach with an automatic loop invariant generation technique in the same program logic. To achieve full automation, we incorporate predicate abstraction tailored to the needs of data dependence analysis. To retain as much precision as possible, we generalize logic-based symbolic execution to compute abstract data dependence predicates. We provide a prototype demonstrating that fully automatic data dependence analysis based on deductive verification is feasible and is a promising alternative to the dependence analyses commonly used in HPC. Implementing our approach for Java atop a deductive verification tool, we conducted evaluations demonstrating its ability to analyze data dependences highly precisely for representative code extracted from HPC applications. |
||||
Alternatives oder übersetztes Abstract: |
|
||||
Status: | Verlagsversion | ||||
URN: | urn:nbn:de:tuda-tuprints-267225 | ||||
Sachgruppe der Dewey Dezimalklassifikatin (DDC): | 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik | ||||
Fachbereich(e)/-gebiet(e): | 20 Fachbereich Informatik 20 Fachbereich Informatik > Software Engineering |
||||
Hinterlegungsdatum: | 06 Aug 2024 12:16 | ||||
Letzte Änderung: | 07 Aug 2024 09:58 | ||||
PPN: | |||||
Referenten: | Hähnle, Prof. Dr. Reiner ; Rümmer, Prof. Dr. Philipp | ||||
Datum der mündlichen Prüfung / Verteidigung / mdl. Prüfung: | 24 April 2024 | ||||
Export: | |||||
Suche nach Titel in: | TUfind oder in Google |
Frage zum Eintrag |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |