Abstract
The aim of the paper is to share the design problems we experienced when we were implementing a prototype analyzer of an asynchronous concurrent language. This new kind of static analyzer is based on previous work about operational semantics of parallel languages that can express concurrency and non-determinism of actions: it constructs abstract automata reflecting all the possible execution behaviours of programs written in languages such as Parallel Pascal [Cri95] or Concurrent ML [Cri96].
We will also present some experimental results dealing with the size of the generated automata and the precision of the analysis. For instance some well-known mutual exclusion protocols have been automatically proven correct. The analyzer has been interfaced using the HTML markup language: this allows the user to ask for computed invariants at given program points.
Preview
Unable to display preview. Download preview PDF.
References
F. Bourdoncle. Sémantique des langages impératifs d'ordre supérieur et interprétation abstraite. PhD thesis, École polytechnique, 1992.
P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Proc. 4th Annual ACM Symposium on Principles of Programming Languages, 1977.
P. Cousot and R. Cousot. Semantic analysis of communicating sequential processes. In Proc. 7th International Colloquium on Automata, Languages and Programming, Lecture Notes in Computer Science, 1980.
R. Cleaveland, S. Purushothaman Iyer, and D. Yankelevitch. Optimality in Abstractions of Model-Checking. In Proc. of Static Analysis Symposium, Lecture Notes in Computer Science. Springer-Verlag, September 1995.
R. Cridlig. Semantic Analysis of Shared-Memory Concurrent Languages using Abstract Model-Checking. In Proc. ACM Symposium on Partial Evaluation and Program Manipulation, June 1995.
R. Cridlig. Semantic Analysis of Concurrent ML by Abstract ModelChecking. In B. Steffen and T. Margaria, editors, Proc. International Workshop on Verification of Infinite State Systems, volume MIP-9614. Universität Passau, August 1996.
D. Dams, O. Grumberg, and R. Gerth. Abstract interpretation of reactive systems: Abstractions preserving ∀CTL*, ∃CTL* and CTL*. In E.-R. Olderog, editor, Proc. IFIP WG2.1/WG2.2/WG2.3 Working Conference on Programming Concepts, Methods and Calculi (PROCOMET), IFIP Transactions, Amsterdam, June 1994. North-Holland/Elsevier.
E. W. Dijkstra. Cooperating sequential processes. In F. Genuys, editor, Programming Languages. Academic Press, 1968.
E. Goubault. The Geometry of Concurrency. PhD thesis, Ecole Polytechnique, Palaiseau, France, 1995.
C. A. R. Hoare. Communicating Sequential Processes. Communications of the ACM, 21(8):667–677, 1978.
M. Karr. Affine relationships among variables of a program. Acta Informatica, 6:133–151, 1976.
P. Kelb. Model Checking and Abstraction: A Framework Approximating both Truth and Failure Information. Technical report, University of Oldenburg, 1994.
M. Raynal. Algorithmique du parallélisme: le problème de l'exclusion mutuelle. Dunod, 1984.
A. Valmari. Eliminating redundant interleavings during concurrent program verification. In G. Goos and J. Hartmanis, editors, PARLE '89, volume 366 of Lecture Notes in Computer Science, pages 89–103, 1989.
N. Wirth and K. Jensen. PASCAL user manual and report. Springer-Verlag, second edition, 1978.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cridlig, R. (1997). Implementing a static analyzer of concurrent programs: Problems and perspectives. In: Dam, M. (eds) Analysis and Verification of Multiple-Agent Languages. LOMAPS 1996. Lecture Notes in Computer Science, vol 1192. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62503-8_11
Download citation
DOI: https://doi.org/10.1007/3-540-62503-8_11
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62503-2
Online ISBN: 978-3-540-68052-9
eBook Packages: Springer Book Archive