Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported license
Worst-case execution time analysis of multi-threaded software is still a challenge. This comes mainly from the fact that the number of thread interleavings grows exponentially in the number of threads and that synchronization has to be taken into account. In particular, a suitable graph based model has been missing. The idea that thread interleavings can be studied with a matrix calculus is a novel approach in this research area. Our sparse matrix representations of the program are manipulated using Kronecker algebra. The resulting graph represents the multi-threaded program and plays a similar role for concurrent systems as control flow graphs do for sequential programs. Thus a suitable graph model for timing analysis of multi-threaded software has been set up. Due to synchronization it turns out that often only very small parts of the resulting graph are actually needed, whereas the rest is unreachable. A lazy implementation of the matrix operations ensures that the unreachable parts are never calculated. This speeds up processing significantly and shows that our approach is very promising.
@InProceedings{mittermayr_et_al:OASIcs.WCET.2012.59,
author = {Mittermayr, Robert and Blieberger, Johann},
title = {{Timing Analysis of Concurrent Programs}},
booktitle = {12th International Workshop on Worst-Case Execution Time Analysis},
pages = {59--68},
series = {Open Access Series in Informatics (OASIcs)},
ISBN = {978-3-939897-41-5},
ISSN = {2190-6807},
year = {2012},
volume = {23},
editor = {Vardanega, Tullio},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.WCET.2012.59},
URN = {urn:nbn:de:0030-drops-35570},
doi = {10.4230/OASIcs.WCET.2012.59},
annote = {Keywords: Worst-case execution time analysis (WCET), Concurrency, Thread Synchronization, Kronecker Algebra, Program Analysis}
}