Abstract

The paper deals with verification of flow control in concurrent programs. We use the Ada language model as reference. After translation of Ada programs into Petri nets (named Ada nets for Ada programs), we show how one can fully exploit the relationship between the behavior of the concurrent program and the structure of the corresponding Petri net. Using the siphon structure, we specify some structural conditions for behavioral properties such as deadlock freeness and liveness that correct concurrent programs must satisfy. These conditions can be proved or disproved using efficient algorithms. We also provide a formal justification of guidelines (such as client/server paradigm) that programmers observe traditionally in order to build correct concurrent programs. Several examples are presented to show the effectiveness of using a structure theory of Petri nets for static analysis of concurrent programs.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call