Static Analysis by Abstract Interpretation of the Functional Correctness of Matrix Manipulating Programs

Abstract : We present new abstract domains to prove automatically the functional correctness of algorithms implementing matrix operations, such as matrix addition, multiplication, GEMM (general matrix multiplication), or more generally BLAS (Basic Linear Algebra Subprograms). In order to do so, we introduce a family of abstract domains parameter-ized by a set of matrix predicates and by a numeric domain. We show that our analysis is robust enough to prove the functional correctness of several versions of matrix addition and multiplication codes resulting from loop reordering, loop tiling, inverting the iteration order, line swapping, and expression decomposition. Finally, we extend our method to enable modular analysis on code fragments manipulating matrices by reference, and show that it results in a significant analysis speedup.
Type de document :
Communication dans un congrès
23rd Static Analysis Symposium (SAS), Sep 2016, Edimbourg, United Kingdom. Springer, Static Analysis, 23rd International Symposium, SAS 2016, Edinburgh, UK, September 8-10, 2016, Proceedings, 9837, pp.257-277, 2016, Lecture Notes in Computer Science. 〈10.1007/978-3-662-53413-7_13〉
Liste complète des métadonnées

Littérature citée [18 références]  Voir  Masquer  Télécharger

http://hal.upmc.fr/hal-01360556
Contributeur : Antoine Miné <>
Soumis le : mardi 6 septembre 2016 - 10:05:25
Dernière modification le : jeudi 11 janvier 2018 - 06:26:46
Document(s) archivé(s) le : mercredi 7 décembre 2016 - 12:36:51

Fichier

article-journault-al-sas16.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Citation

Matthieu Journault, Antoine Miné. Static Analysis by Abstract Interpretation of the Functional Correctness of Matrix Manipulating Programs. 23rd Static Analysis Symposium (SAS), Sep 2016, Edimbourg, United Kingdom. Springer, Static Analysis, 23rd International Symposium, SAS 2016, Edinburgh, UK, September 8-10, 2016, Proceedings, 9837, pp.257-277, 2016, Lecture Notes in Computer Science. 〈10.1007/978-3-662-53413-7_13〉. 〈hal-01360556〉

Partager

Métriques

Consultations de la notice

153

Téléchargements de fichiers

64