skip to main content
article

Industrial strength exception freedom

Published:08 December 2002Publication History
Skip Abstract Section

Abstract

Ada is unique amongst modern high-level languages in the degree to which it allows programming errors to be trapped at the compilation stage. Using a tool like the SPARK Examiner amplifies this effect and can provide a high degree of confidence that a program is well formed before we try and verify that its behaviour is correct. Despite this progress a less tractable class of errors remain: run-time exceptions. For safety-related systems a run-time error may be just as hazardous as any other logical error. For secure systems, guarding against the deliberate generation of such errors-through buffer overflow attacks for example-is vital. The paper explains how automated techniques based on formal verification or proof techniques have now matured and provide an industrial strength solution.

References

  1. Jon Garnsworthy, Ian O'Neill, Barnard Carré. Automatic Proof of the Absence of Run-Time Errors. In Ada: Towards Maturity - Proceedings of the 1993 AdaUK conference. IOS Press. ISBN 9051991428.]]Google ScholarGoogle Scholar
  2. RTCA-EUROCAE. Software Considerations in Airborne Systems and Equipment Certification. DO-178B / ED-12B.]]Google ScholarGoogle Scholar
  3. Common Criteria for Information Technology Security Evaluation. ISO Standard 15408. http://csrc.nist.gov/cc]]Google ScholarGoogle Scholar
  4. John Barnes. High Integrity Ada: The SPARK Approach. Addison Wesley, 1997 (reprinted 2001) ISBN 0201175177. http://www.sparkada.com/]]Google ScholarGoogle Scholar
  5. Ross Anderson. Security Engineering. Wiley, 2001. ISBN 0471389226.]]Google ScholarGoogle Scholar
  6. Robert Dewar, Olivier Hainque, Dirk Craeynest, Philippe Waroquiers. Exposing Uninitialized Variables: Strengthening and Extending Run-Time Checks in Ada. Proceedings of Reliable Software Technologies - Ada Europe 2002. Springer-Verlag LNCS 2361. pp. 193--204.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Steve King, Jonathan Hammond, Roderick Chapman, Andy Pryor. Is Proof More Cost-Effective than Testing? IEEE Transactions on Software Engineering, Volume 26, Number 8, August 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Darren Foulger, Steve King. Using the SPARK toolset for Showing the Absence of Run-Time Errors in Safety-Critical Software. in Reliable Software Technologies - Ada-Europe 2001. Springer-Verlag LNCS 2043. pp. 229--240.]] Google ScholarGoogle Scholar
  9. Liz Whiting, Mike Hill. Safety Analysis of the Hawk In-Flight Monitor. Presented at the 1999 ACM SIGPLAN Workshop on Program Analysis for Software Tools and Engineering, Toulouse, France.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Kent Beck. Extreme Programming Explained. Addison Wesley. ISBN 0201616416.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Roderick Chapman, Alan Burns, Andy Wellings. Combining Static Worst-Case Timing Analysis and Program Proof. Real-Time Systems Journal. Volume 11, pp. 145--171. Kluwer Academic Publishers, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Butler, Ricky W.; and Finelli, George B.: The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software. IEEE Transactions on Software Engineering, vol. 19, no. 1, Jan. 1993, pp 3--12.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Littlewood, Bev; and Strigini, Lorenzo: Validation of Ultrahigh Dependability for Software-Based Systems. CACM 36(11): 69--80 (1993).]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Littlewood, B: Limits to evaluation of software dependability. In Software Reliability and Metrics (Procedings of Seventh Annual CSR Conference, Garmisch-Partenkirchen). N. Fenton and B. Littlewood. Eds. Elsevier, London, pp. 81--110.]]Google ScholarGoogle Scholar
  15. Bergeretti and Carré: Information-flow and data-flow analysis of while-programs. ACM Transactions on Programming Languages and Systems 1985.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Finnie, Gavin et al: SPARK95 - The SPADE Ada95 Kernel. Edition 3.0, July 2002, Praxis Critical Systems.]]Google ScholarGoogle Scholar
  17. http://pvs.csl.sri.com/]]Google ScholarGoogle Scholar
  18. http://www.polyspace.com/]]Google ScholarGoogle Scholar
  19. Taft et. al. Consolidated Ada Reference Manual: Language and Standard Libraries. Springer-Verlag Berlin, January 2001. LNCS 2219. ISBN 3540430385.]]Google ScholarGoogle Scholar

Index Terms

  1. Industrial strength exception freedom

              Recommendations

              Comments

              Login options

              Check if you have access through your login credentials or your institution to get full access on this article.

              Sign in

              Full Access

              • Published in

                cover image ACM SIGAda Ada Letters
                ACM SIGAda Ada Letters  Volume XXIII, Issue 1
                March 2003
                57 pages
                ISSN:1094-3641
                DOI:10.1145/1066404
                Issue’s Table of Contents
                • cover image ACM Conferences
                  SIGAda '02: Proceedings of the 2002 annual ACM SIGAda international conference on Ada: The engineering of correct and reliable software for real-time & distributed systems using Ada and related technologies
                  December 2002
                  68 pages
                  ISBN:1581136110
                  DOI:10.1145/589451

                Copyright © 2002 ACM

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 8 December 2002

                Check for updates

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader
              About Cookies On This Site

              We use cookies to ensure that we give you the best experience on our website.

              Learn more

              Got it!