Kronecker Algebra for Static Analysis of Barriers in Ada

Kronecker algebra until now has been applied to concurrent programs that use semaphores and protected objects for synchronization. Like many other programming languages, Ada uses barriers, too. In this paper, we present a new synchronization construct for barriers. By applying this, we are able to statically analyze Ada multi-tasking programs that employ barriers for synchronization issues. It turns out that we can use our existing Kronecker algebra implementation completely unmodified for concurrent program graphs using such barrier synchronization primitives.

[1]  David B. Skillicorn,et al.  Practical barrier synchronisation , 1998, Proceedings of the Sixth Euromicro Workshop on Parallel and Distributed Processing - PDP '98 -.

[2]  Arto Salomaa,et al.  Semirings, Automata and Languages , 1985 .

[3]  Yuan Zhang,et al.  Barrier matching for programs with textually unaligned barriers , 2007, PPoPP.

[5]  Alexander Graham,et al.  Kronecker Products and Matrix Calculus: With Applications , 1981 .

[6]  Johann Blieberger,et al.  Timing Analysis of Concurrent Programs , 2012, WCET.

[7]  Anindya Banerjee,et al.  Verification of software barriers , 2012, PPoPP '12.

[8]  Johann Blieberger,et al.  A Framework for CFG-Based Static Program Analysis of Ada Programs , 2008, Ada-Europe.

[9]  Johann Blieberger,et al.  A symbolic analysis framework for static analysis of imperative programming languages , 2012, J. Syst. Softw..

[10]  David Gay,et al.  Barrier inference , 1998, POPL '98.

[11]  Marc Davio,et al.  Kronecker products and shuffle algebra , 1981, IEEE Transactions on Computers.

[12]  Peter Buchholz,et al.  Efficient Computation and Representation of Large Reachability Sets for Composed Automata , 2002, Discret. Event Dyn. Syst..

[13]  Allen B. Downey,et al.  The Little Book of Semaphores , 2009 .

[14]  G. Ramalingam,et al.  Context-sensitive synchronization-sensitive analysis is undecidable , 2000, TOPL.

[15]  Johann Blieberger,et al.  Kronecker Algebra for Static Analysis of Ada Programs with Protected Objects , 2014, Ada-Europe.

[16]  Brigitte Plateau On the stochastic structure of parallelism and synchronization models for distributed algorithms , 1985, SIGMETRICS 1985.

[17]  Yuan Zhang,et al.  Concurrency Analysis for Shared Memory Programs with Textually Unaligned Barriers , 2007, LCPC.

[18]  Richard Bellman,et al.  Introduction to matrix analysis (2nd ed.) , 1997 .

[19]  Wei-Ngan Chin,et al.  Verification of Static and Dynamic Barrier Synchronization Using Bounded Permissions , 2013, ICFEM.

[20]  Johann Blieberger,et al.  Shared Memory Concurrent System Verification using Kronecker Algebra , 2011, ArXiv.

[21]  Andreas Schöbel,et al.  Kronecker Algebra-based Deadlock Analysis for Railway Systems , 2012 .

[22]  Richard Bellman,et al.  Introduction to Matrix Analysis , 1972 .

[23]  Katherine A. Yelick,et al.  Concurrency Analysis for Parallel Programs with Textually Aligned Barriers , 2005, LCPC.