Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
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)
Boyapati, C., Rinard, M.: A parameterized type system for race-free java programs. SIGPLAN Not. 36(11), 56–69 (2001)
Burns, A., Wellings, A.: Concurrency in Ada, ch. 6.11, pp. 134–137. Cambridge University Press, Cambridge (1995)
Burns, A., Wellings, A.J.: How to verify concurrent Ada programs: the application of model checking. ACM SIGADA Ada Letters 19(2) (1999)
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)
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)
Dillon, L.K.: A visual execution model for ada tasking. ACM Trans. Softw. Eng. Methodol. 2(4), 311–345 (1993)
Dillon, L.K.: Task dependence and termination in ada. ACM Trans. Softw. Eng. Methodol. 6(1), 80–110 (1997)
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)
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)
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)
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)
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)
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)
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)
Pajault, C.: Extending Quasar with dynamic tasks computation. Technical Report 695, CNAM, CEDRIC, Paris (2005)
Rousseau, P.: Concurrent ada program slicing for source code understanding and formal analysis. Technical Report 708, CNAM, CEDRIC (2005)
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)
Tucker Taft, S., Duff, R.A. (eds.): Ada 95 Reference Manual. LNCS, vol. 1246. Springer, Heidelberg (1997)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Evangelista, S., Kaiser, C., Pajault, C., Pradat-Peyre, J.F., Rousseau, P. (2005). Dynamic Tasks Verification with Quasar . In: Vardanega, T., Wellings, A. (eds) Reliable Software Technology – Ada-Europe 2005. Ada-Europe 2005. Lecture Notes in Computer Science, vol 3555. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11499909_8
Download citation
DOI: https://doi.org/10.1007/11499909_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26286-2
Online ISBN: 978-3-540-31666-4
eBook Packages: Computer ScienceComputer Science (R0)