Why Programming Languages Still Matter

  • Peter Amey
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4157)


This paper examines some aspects of the aims and goals of the RODIN project and asks whether a successful outcome of the project will remove the need for us to worry about programming languages and the meaning of program source code. In common with some other currently ascendent approaches to software engineering, such as model-based development, RODIN is leading towards the construction of software models (in RODIN’s case precise software models) from which we may hope to generate source or even object code. So, does this remove the need for us to be concerned with the form these automatically-generated, intermediate representations take? Perhaps rather surprisingly, I conclude that the need to show an unbroken chain of confidence from requirements to object code means that programming languages and their analysis, remain an extremely important topic. I hope to show that the ability to produce better specifications and designs, as promised by approaches exemplified by RODIN, is a necessary precondition for effective high-integrity software development rather than a substitute for approaches currently in use.


Programming Language Fault Tolerance Magic Number Intermediate Representation Device Driver 
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. 1.
    Amey, P.: Dear Sir, Yours Faithfully: an Everyday Story of Formality. Practical Elements of Safety. In: Proceedings of the Twelfth Safety-critical Systems Symposium, Birmingham, UK, February 2004, pp. 3–15. Springer, Heidelberg (2004)Google Scholar
  2. 2.
    Croxford, M., Chapman, R.: Correctness by Construction: A Manifesto for High-Integrity Software. Crosstalk Journal, 5–8 (December 2005)Google Scholar
  3. 3.
    Barnes, J.: High Integrity Software - the SPARK Approach to Safety and Security. Addison Wesley Longman, Amsterdam (2003)Google Scholar
  4. 4.
    Finnie, G., et al.: SPARK 95 - The SPADE Ada 95 Kernel. Praxis High Integrity SystemsGoogle Scholar
  5. 5.
    King, S., Hammond, J., Chapman, R., Pryor, A.: Proof More Cost Effective Than Testing? IEEE Transactions on Software Engineering 26(8), 675–686 (2000)CrossRefGoogle Scholar
  6. 6.
    Parnas, D.L., Madey, J.: Functional Documentation for Computer Systems. Science of Computer Programming (October 1995)Google Scholar
  7. 7.
    Littlewood, B., Strigini, L.: Validation of Ultrahigh Dependability for Software-Based Systems. CACM 36(11), 69–80 (1993)Google Scholar
  8. 8.
    Littlewood, B.: Limits to evaluation of software dependability. In: Fenton, N., Littlewood, B. (eds.) Software Reliability and Metrics (Proceedings of Seventh Annual CSR Conference, Garmisch-Partenkirchen), pp. 81–110. Elsevier, LondonGoogle Scholar
  9. 9.
    Butler, R.W., Finelli, G.B.: The Infeasibility of Quantifying the Reliability of Life-Critical Real-Time Software. IEEE Transactions on Software Engineering 19(1), 3–12 (1993)CrossRefGoogle Scholar
  10. 10.
    Chapman, R., Amey, P.: Industrial Strength Exception Freedom. In: Proceedings of ACM SIGAda (2002)Google Scholar
  11. 11.
    Amey, P., Dion, B.: Combining Model-Driven Design With Diverse Formal Verification. In: ERTS 2006, Embedded Real-Time Software, Toulouse (2006)Google Scholar
  12. 12.
    Sixth Framework Programme for Research and Technological Development, Contract No. 511599. The Statement of Work and other information can be found here:, See also:

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Peter Amey
    • 1
  1. 1.Praxis High Integrity SystemsBathUK

Personalised recommendations