Skip to main content

Static Detection of Access Anomalies in Ada95

  • Conference paper
Reliable Software Technologies – Ada-Europe 2006 (Ada-Europe 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4006))

Included in the following conference series:

Abstract

In this paper we present data flow frameworks that are able to detect access anomalies in Ada multi-tasking programs. In particular, our approach finds all possible non-sequential accesses to shared non-protected variables. The algorithms employed are very efficient. Our approach is conservative and may find false positives.

Bernd Burgstaller has been supported by the ARC Discovery Project Grant “Compilation Techniques for Embedded Systems” under Contract DP 0560190, and the University of Sydney R&D Grants Scheme “Speculative Partial Redundancy Elimination” under Contract L2849 U3229.

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. SPARK Examiner, The SPARK Ravenscar Profile (2004), http://www.praxis-his.com/sparkada/pdfs/examiner_ravenscar.pdf

  2. Arnold, K., Gosling, J., Holmes, D.: The Java Programming Language, 3rd edn. Addison-Wesley, Reading (2000)

    Google Scholar 

  3. Barbasch, C., Egnor, D.: Always one more bug: Applying AdaWise to improve Ada code. In: Proceedings of the conference on TRI-Ada 1994, pp. 228–235. ACM Press, New York (1994)

    Chapter  Google Scholar 

  4. Barnes, J.: High Integrity Software - The SPARK Approach to Safety and Security. Addison-Wesley, Harlow (2003)

    Google Scholar 

  5. Blieberger, J., Burgstaller, B., Scholz, B.: Interprocedural Symbolic Evaluation of Ada Programs with Aliases. In: González Harbour, M., la de Puente, J.A. (eds.) Ada-Europe 1999. LNCS, vol. 1622, pp. 136–145. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  6. Burns, A.: The Ravenscar Profile. Ada Lett. XIX(4), 49–52 (1999)

    Article  Google Scholar 

  7. Burns, A., Dobbing, B., Vardanega, T.: Guide for the use of the Ada Ravenscar Profile in high integrity systems. Ada Lett. XXIV(2), 1–74 (2004)

    Article  Google Scholar 

  8. Cooper, K.D., Kennedy, K.: Interprocedural side-effect analysis in linear time. In: PLDI 1988: Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation, pp. 57–66. ACM Press, New York (1988)

    Chapter  Google Scholar 

  9. Cooper, K.D., Kennedy, K.: Fast interprocedural alias analysis. In: Conference Record of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 49–59 (1989)

    Google Scholar 

  10. Delrio, P., Mazzanti, F.: The risk of destructive run-time errors. Ada Lett. XI(1), 102–113 (1991)

    Article  Google Scholar 

  11. Dinning, A., Schonberg, E.: An empirical comparison of monitoring algorithms for access anomaly detection. In: PPOPP 1990: Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming, pp. 1–10. ACM Press, New York (1990)

    Chapter  Google Scholar 

  12. Gellerich, W., Ploedereder, E.: Parameter-induced aliasing and related problems can be avoided. In: Hardy, K., Briggs, J. (eds.) Ada-Europe 1997. LNCS, vol. 1251, pp. 161–172. Springer, Heidelberg (1997)

    Google Scholar 

  13. Hood, R., Kennedy, K., Mellor-Crummey, J.: Parallel program debugging with on-the-fly anomaly detection. In: Supercomputing 1990: Proceedings of the 1990 ACM/IEEE conference on Supercomputing, pp. 74–81. IEEE Computer Society, Washington, DC (1990)

    Google Scholar 

  14. ISO/IEC 8652. Ada Reference manual (1995)

    Google Scholar 

  15. Kildall, G.: A unified approach to global program optimization. In: Proc. of the First ACM Symposium on Principles of Programming Languages, New York, NY, pp. 194–206 (1973)

    Google Scholar 

  16. Lasseter, J.H.E.F.: Toolkits for the automatic construction of data flow analyzers. Technical report, University of Oregon, Computer & Information Sci. Dept. (2005)

    Google Scholar 

  17. Marzullo, C., Mazzanti, F.: Towards the static detection of erroneous executions in Ada 95. Technical report, Ninth International Software Quality Week 1996 (QW 1996), Sheraton Palace Hotel, San Francisco, California USA (1996)

    Google Scholar 

  18. Mazzanti, F.: Guide to erroneous executions in Ada 95. Technical report, Centre National de la Recherche Scientifique, Paris, France (1997)

    Google Scholar 

  19. Mehlhorn, K.: Graph Algorithms and NP-Completeness. Data Structures and Algorithms, vol. 2. Springer, Berlin (1984)

    MATH  Google Scholar 

  20. Paull, M.C.: Algorithm Design – A Recursion Transformation Framework. Wiley Interscience, New York (1988)

    Google Scholar 

  21. Ryder, B.G., Paull, M.C.: Elimination algorithms for data flow analysis. ACM Computing Surveys 18(3), 277–316 (1986)

    Article  Google Scholar 

  22. Schmidt, D.A.: Denotational Semantics — A Methodology for Language Development. Allyn and Bacon (1986)

    Google Scholar 

  23. Schonberg, E.: On-the-fly detection of access anomalies. In: PLDI 1989: Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation, pp. 285–297. ACM Press, New York (1989)

    Chapter  Google Scholar 

  24. Schonberg, E.: On-the-fly detection of access anomalies. SIGPLAN Not. 39(4), 313–327 (2004)

    Article  Google Scholar 

  25. Sreedhar, V.C., Gao, G.R., Lee, Y.-F.: A new framework for elimination-based data flow analysis using DJ graphs. ACM Trans. Program. Lang. Syst. 20(2), 388–435 (1998)

    Article  Google Scholar 

  26. Taylor, R.N.: A general-purpose algorithm for analyzing concurrent programs. Commun. ACM 26(5), 361–376 (1983)

    Article  Google Scholar 

  27. Zhou, F.: Survey: Race Detection and Atomicity Checking, CS263 Course Project (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Burgstaller, B., Blieberger, J., Mittermayr, R. (2006). Static Detection of Access Anomalies in Ada95. In: Pinho, L.M., González Harbour, M. (eds) Reliable Software Technologies – Ada-Europe 2006. Ada-Europe 2006. Lecture Notes in Computer Science, vol 4006. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11767077_4

Download citation

  • DOI: https://doi.org/10.1007/11767077_4

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-34664-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics