Skip to main content

Quasar: A New Tool for Concurrent Ada Programs Analysis

  • Conference paper
  • First Online:
Reliable Software Technologies — Ada-Europe 2003 (Ada-Europe 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2655))

Included in the following conference series:

Abstract

Concurrency introduces a high degree of combinatory which may be the source of subtle mistakes. We present a new tool, Quasar, which is based on ASIS and which uses fully the concept of patterns. The analysis of a concurrent Ada program by our tool proceeds in four steps: automatic extraction of the concurrent part of the program; translation of the simplified program into a formal model using predefined patterns that are combined by substitution and merging constructors; analysis of the model both by structural techniques and model-checking techniques; reporting deadlock or starvation results. We demonstrate the usefulness of Quasar by analyzing several variations of a non trivial concurrent program.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J. Blieberger, B. Burgstaller, and B. Scholz. Symbolic Data Flow Analysis for Detecting Deadlocks in Ada Tasking Programs. In Proc. of the Ada-Europe International Conference on Reliable Software Technologies, Potsdam, Germany, 2000.

    Google Scholar 

  2. G. Berthelot. Checking properties of nets using transformations. In G. Rozenberg, editor, Advances in Petri nets, volume No. 222 of LNCS. Springer-Verlag, 1985.

    Google Scholar 

  3. K. Barkaoui, C. Kaiser, and J.F. Pradat-Peyre. Petri nets based proofs of Ada95 solution for preference control. In Proc. of the Asia Pacific Software Engineering Conference (APSEC) and International Computer Science Conference (ICSC), Hong-Kong, 1997.

    Google Scholar 

  4. E. Bruneton and J.F. Pradat-Peyre. Automatic verification of concurrent ada programs. In Michael Gonzalez Harbour and Juan A. de la Puente, editors, Reliable Software Technologies-Ada-Europe’99, number 1622 in LNCS, pages 146–157. Springer-Verlag, 1999.

    Google Scholar 

  5. A. Burns and A. J. Wellings. How to verify concurrent Ada programs: the application of model checking. ACM SIGADA Ada Letters, 19(2):78–83, 1999.

    Article  Google Scholar 

  6. A. Burns, A. J. Wellings, F. Burns, A. M. Koelmans, M. Koutny, A. Romanovsky, and A. Yakovlev. Towards modelling and verification of concurrent ada programs using petri nets. In Pezzé, M. and Shatz, M., editors, DAIMI PB: Workshop Proceedings Software Engineering and Petri Nets, pages 115–134, 2000.

    Google Scholar 

  7. James C. Corbett, Matthew B. Dwyer, John Hatcliff, Shawn Laubach, Corina S. Pasareanu, Robby, and Hongjun Zheng. Bandera: extracting finite-state models from java source code. In International Conference on Software Engineering, pages 439–448, 2000.

    Google Scholar 

  8. Matthew B. Dwyer and John Hatcliff. Slicing software for model construction. In Partial Evaluation and Semantic-Based Program Manipulation, pages 105–118, 1999.

    Google Scholar 

  9. Patrice Godefroid, Robert S. Hanmer, and Lalita Jategaonkar Jagadeesan. Model checking without a model: An analysis of the heart-beat monitor of a telephone switch using verisoft. In International Symposium on Software Testing and Analysis, pages 124–133, 1998.

    Google Scholar 

  10. Patrice Godefroid. Verisoft: A tool for the automatic analysis of concurrent reactive software. In Computer Aided Verification, pages 476–479, 1997.

    Google Scholar 

  11. C. Girault and J.F. Pradat-Peyre. Les réseaux de Petri de haut-niveau. In M. Diaz, editor, Les réseaux de Petri: Modèles Fondamentaux, number ISBN: 2-7462-0250-6, chapter 7, pages 223–254. Hermes, 2001 (French).

    Google Scholar 

  12. G.J. Holzmann and Margaret H. Smith. An automated verification method for distributed systems software based on model extraction. IEEE Trans. on Software Engineering, 28(4):364–377, April 2002.

    Article  Google Scholar 

  13. Ravi K. Gedela, Sol M. Shatz, and Haiping Xu. Formal modeling of synchronization methods for concurrent objects in ada 95. In Proceedings of the 1999 nnual ACM SIGAda international conference on Ada, pages 211–220. ACM Press, 1999.

    Google Scholar 

  14. G.J. Holzmann. Logic verification of ansi-c code with spin. pages 131–147. Springer Verlag / LNCS 1885, Sep. 2000.

    Google Scholar 

  15. G.J. Holzmann. Software verification at bell labs: one line of development. Bell Labs Technical Journal, 5(1):35–45, Jan–March 2000. Bell Labs 75th year anniversary issue.

    Article  MathSciNet  Google Scholar 

  16. S. Haddad and J.F. Pradat-Peyre. New powerfull Petri nets reductions. Technical report, CEDRIC, CNAM, Paris, 2003.

    Google Scholar 

  17. G.J. Holzmann and Margaret H. Smith. Software model checking — extracting verification models from source code. pages 481–497, Kluwer Academic Publ., Oct. 1999. also in: Software Testing, Verification and Reliability, Vol. 11, No. 2, June 2001, pp. 65–79.

    Google Scholar 

  18. G.J. Holzmann and Margaret H. Smith. Automating software feature verification. Bell Labs Technical Journal, 5(2):72–87, April–June 2000. Issue on Software Complexity.

    Article  Google Scholar 

  19. ISO/IEC 15291. Ada Semantic Interface Specification (ASIS), 1999.

    Google Scholar 

  20. K. Jensen. Coloured Petri nets: A hight level language for system design and analysis. In Jensen and Rozenberg, editors, High-level Petri Nets, Theory and Application, pages 44–119. Springer-Verlag, 1991.

    Google Scholar 

  21. C. Kaiser and J.F. Pradat-Peyre. Comparing the reliability provided by tasks or protected objects for implementing a resource allocation service: a case study. In TriAda, St Louis, Missouri, november 1997. ACM SIGAda.

    Google Scholar 

  22. M. Makela. Maria user’s guide. Technical report, Helsinki Univ. of Technology, Finland, 2002.

    Google Scholar 

  23. T. Murata, B. Shenker, and S.M. Shatz. Detection of Ada static deadlocks using Petri nets invariants. IEEE Transactions on Software Engineering, Vol. 15(No. 3):314–326, March 1989.

    Article  Google Scholar 

  24. M. Notomi and T. Murata. Hierarchical reachability graph of bounded Petri nets for concurrent-software analysis. IEEE Transactions on Software Engineering, Vol. 20(No. 5):325–336, May 1994.

    Article  MATH  Google Scholar 

  25. D. Poitrenaud and J.F. Pradat-Peyre. Pre and post-agglomerations for LTL model checking. In M. Nielsen and D Simpson, editors, High-level Petri Nets, Theory and Application, number 1825 in LNCS, pages 387–408. Springer-Verlag, 2000.

    Chapter  Google Scholar 

  26. S. Tu, S.M. Shatz, and T. Murata. Applying Petri nets reduction to support Ada-tasking deadlock detection. In Proceedings of the 10th IEEE Int. Conf. on Distributed Computing Systems, pages 96–102, Paris, France, June 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Evangelista, S., Kaiser, C., Pradat-Peyre, JF., Rousseau, P. (2003). Quasar: A New Tool for Concurrent Ada Programs Analysis. In: Rosen, JP., Strohmeier, A. (eds) Reliable Software Technologies — Ada-Europe 2003. Ada-Europe 2003. Lecture Notes in Computer Science, vol 2655. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44947-7_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-44947-7_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-40376-0

  • Online ISBN: 978-3-540-44947-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics