Abstract | ||
---|---|---|
In the field of deductive software verification, programs with pointers present a major challenge due to pointer aliasing. In this paper, we introduce pointers to SPARK, a well-defined subset of the Ada language, intended for formal verification of mission-critical software. Our solution uses a permission-based static alias analysis method inspired by Rustu0027s borrow-checker and affine types, and enforces the Concurrent Read, Exclusive Write policy. This analysis has been implemented in the GNAT Ada compiler and tested against a number of challenging examples. In the paper, we give a formal presentation of the analysis rules for a miniature version of SPARK and prove their soundness. We discuss the implementation and compare our solution with Rust. |
Year | Venue | Field |
---|---|---|
2018 | arXiv: Programming Languages | Pointer (computer programming),Spark (mathematics),Programming language,Computer science,Pointer aliasing,Compiler,Alias analysis,Soundness,Formal verification,Software verification |
DocType | Volume | Citations |
Journal | abs/1805.05576 | 1 |
PageRank | References | Authors |
0.40 | 2 | 3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Georges-Axel Jaloyan | 1 | 1 | 1.41 |
Yannick Moy | 2 | 1 | 1.07 |
Andrei Paskevich | 3 | 229 | 16.43 |