Dynamic Tasks Verification with Quasar

  • Sami Evangelista
  • Claude Kaiser
  • Christophe Pajault
  • Jean Francois Pradat-Peyre
  • Pierre Rousseau
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3555)


The inclusion of dynamic tasks modelisation in QUASAR, a tool for automatic analysis of concurrent programs, extends its applicative usefulness. However this extension leads to large size models whose processing has to face combinatory explosion of modeling states. This paper presents briefly Ada dynamic tasks semantic and dependences and then it explains the choice of an efficient generic modeling pattern. This implies to consider the naming, the hierarchy, the master retrieval, the termination of dynamic tasks and their synchronization dependences successively. The adequacy of both this modeling and the QUASAR techniques is highlighted by the analysis of two non-trivial Ada programs. The large reduction factor between the initial and final state numbers of these program models shows that the state explosion can be limited, making automatic validation of dynamic concurrent programs feasible.


Concurrent Program Dynamic Task Linear Time Temporal Logic Access Type Parent Task 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AQR+04]
    Andrews, T., Qadeer, S., Rajamani, S.K., Rehof, J., Xie, Y.: Zing: Exploiting program structure for model checking concurrent software. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 1–15. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. [BBS00]
    Blieberger, J., Burgstaller, B., Scholz, B.: Symbolic Reaching Definitions Analysis of Ada Programs. In: Keller, H.B., Plödereder, E. (eds.) Ada-Europe 2000. LNCS, vol. 1845, p. 238. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  3. [BR01]
    Boyapati, C., Rinard, M.: A parameterized type system for race-free java programs. SIGPLAN Not. 36(11), 56–69 (2001)CrossRefGoogle Scholar
  4. [BW95]
    Burns, A., Wellings, A.: Concurrency in Ada, ch. 6.11, pp. 134–137. Cambridge University Press, Cambridge (1995)MATHGoogle Scholar
  5. [BW99]
    Burns, A., Wellings, A.J.: How to verify concurrent Ada programs: the application of model checking. ACM SIGADA Ada Letters 19(2) (1999)Google Scholar
  6. [BWB+00]
    Burns, A., Wellings, A.J., Burns, F., Koelmans, A.M., Koutny, M., Romanovsky, A., Yakovlev, A.: Towards modelling and verification of concurrent ada programs using petri nets. In: Pezzé, M., Shatz, M. (eds.) DAIMI PB: Workshop Proceedings Software Engineering and Petri Nets, pp. 115–134 (2000)Google Scholar
  7. [CDH+00]
    Corbett, J.C., Dwyer, M.B., Hatcliff, J., Laubach, S., Pasareanu, C.S., Robby, Zheng, H.: Bandera: extracting finite-state models from java source code. In: International Conference on Software Engineering, pp. 439–448 (2000)Google Scholar
  8. [Dil93]
    Dillon, L.K.: A visual execution model for ada tasking. ACM Trans. Softw. Eng. Methodol. 2(4), 311–345 (1993)CrossRefGoogle Scholar
  9. [Dil97]
    Dillon, L.K.: Task dependence and termination in ada. ACM Trans. Softw. Eng. Methodol. 6(1), 80–110 (1997)CrossRefMathSciNetGoogle Scholar
  10. [EKPPR03]
    Evangelista, S., Kaiser, C., Pradat-Peyre, J.-F., Rousseau, P.: Quasar: A new tool for concurrent ada programs analysis. In: Rosen, J.-P., Strohmeier, A. (eds.) Ada-Europe 2003. LNCS, vol. 2655, pp. 168–181. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  11. [EKPPR04]
    Evangelista, S., Kaiser, C., Pradat-Peyre, J.F., Rousseau, P.: Verifying linear time temporal logic properties of concurrent ada programs with quasar. Ada Lett. XXIV(1), 17–24 (2004)CrossRefGoogle Scholar
  12. [Eva05]
    Evangelista, S.: High level Petri nets analysis with Helena. In: 26th International Conference On Application and Theory of Petri Nets and Other Models of Concurrency, ICAPTN (2005)Google Scholar
  13. [FLL+02]
    Cormac Flanagan, K.R.M., Leino, M., Lillibridge, G., Nelson, J.B.: Extended static checking for java. In: Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation, pp. 234–245. ACM Press, New York (2002)CrossRefGoogle Scholar
  14. [HRD04]
    Hatcliff, J., Robby, Dwyer, M.B.: Verifying atomicity specifications for concurrent object-oriented software using model-checking. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 175–190. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  15. [MSS89]
    Murata, T., Shenker, B., Shatz, S.M.: Detection of Ada static deadlocks using Petri nets invariants. IEEE Transactions on Software Engineering 15(3), 314–326 (1989)CrossRefGoogle Scholar
  16. [NAC99]
    Naumovich, G., Avrunin, G.S., Clarke, L.A.: Data flow analysis for checking properties of concurrent java programs. In: Proceedings of the 21st international conference on Software engineering, pp. 399–410. IEEE Computer Society Press, Los Alamitos (1999)CrossRefGoogle Scholar
  17. [Paj05]
    Pajault, C.: Extending Quasar with dynamic tasks computation. Technical Report 695, CNAM, CEDRIC, Paris (2005)Google Scholar
  18. [Rou05]
    Rousseau, P.: Concurrent ada program slicing for source code understanding and formal analysis. Technical Report 708, CNAM, CEDRIC (2005)Google Scholar
  19. [SMBT90]
    Shatz, S.M., Mai, K., Black, C., Tu, S.: Design and implementation of a petri net based toolkit for ada tasking analysis. IEEE Transactions on Parallel and Distributed Systems 1(4), 424–441 (1990)CrossRefGoogle Scholar
  20. [TD97]
    Tucker Taft, S., Duff, R.A. (eds.): Ada 95 Reference Manual. LNCS, vol. 1246. Springer, Heidelberg (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Sami Evangelista
    • 1
  • Claude Kaiser
    • 1
  • Christophe Pajault
    • 1
  • Jean Francois Pradat-Peyre
    • 1
  • Pierre Rousseau
    • 1
  1. 1.CEDRIC – CNAM ParisParis

Personalised recommendations