References


The C Language Standard

C90

ANSI X3.159-1989, "Programming Languages - C", American National Standards Institute, 1989
The ANSI version of the language standard, subsequently published in nearly identical form as the ISO:C-90 Language Standard.


ISO/IEC 9899:1990, "Programming Languages - C", ISO, 1990.
ISO/IEC 9899:COR1:1995, "Technical Corrigendum 1, 1995", ISO, 1994.
ISO/IEC 9899:AMD1:1995, "Amendment 1, 1995", ISO, 1995.
ISO/IEC 9899:COR2:1996, "Technical Corrigendum 2, 1996", ISO, 1996.


Kernighan B.W., Ritchie D.M., "The C Programming Language", 2nd edition, ISBN 0-13-110362-8, Prentice Hall, 1988

C99

ISO/IEC 9899:1999, "Programming languages - C", ISO, 1999.
ISO/IEC 9899:COR1:2001, "Technical Corrigendum 1, 2001", ISO, 2001.
ISO/IEC 9899:COR2:2004, "Technical Corrigendum 2, 2004", ISO, 2004.
ISO/IEC 9899:COR3:2007, "Technical Corrigendum 3, 2007", ISO, 2007.


The C++ Language Standard

ISO/IEC 14882:2003, "The C++ Standard Incorporating Technical Corrigendum 1", ISO, 2003.


MISRA Publications

MISRA-C:1998, "Guidelines for the Use of the C Language In Vehicle Based Software", ISBN 0-9524156-9-0, Motor Industry Research Association, Nuneaton, April 1998.


MISRA-C:2004, "Guidelines for the use of the C language in critical systems", ISBN 0-9524156-2-3, Motor Industry Research Association, Nuneaton, October 2004.


MISRA-C++:2008, "Guidelines for the use of the C++ language in critical systems", ISBN 978-1-906400-03-3, Motor Industry Research Association, Nuneaton, June 2008.


MISRA, "Development Guidelines for Vehicle Based Software", ISBN 0-9524156-0-7, Motor Industry Research Association, Nuneaton, November 1994.


MISRA, "Report 5, Software Metrics", Motor Industry Research Association, Nuneaton, February 1995.

Other Literature

Adams, N.E., (1984) "Optimizing preventive service of software products", IBM Journal Research and Development, Vol 28, Issue 1 pp 2-14.
A fascinating study which showed amongst other things that 30% of software failures appear only after 5000 execution years and that most failures are due to a relatively small number of faults.


Boehm, B., (1981) "Software Engineering Economics", Prentice-Hall, Englewood Cliffs, NJ.
A standard work on software cost, now a little dated but full of useful data.


Brandl, D.L. (1990), "Quality Measures in Design", ACM Sigsoft Software Engineering Notes, vol 15, 1.
A description of a dataflow type metric for interfaces.


Fenton, N.E. (1991) "Software Metrics - a rigorous approach", Chapman-Hall, ISBN 0-412-40440-0
An excellent and rigorous approach to the measurement of software systems.


Halstead, M.M. (1977) "Elements of Software Science", Elsevier, North-Holland inc., New York.
The standard reference for software science whereby programs are considered as streams of operator and operand tokens leading to definitions of entropy and difficulty inter alia.


Hatton, L. (1995) "Safer C: developing software in high-integrity and safety-critical systems", McGraw-Hill, ISBN 0-07-707640-0.
A detailed treatment of high-integrity systems generally, and the steps which need to be taken with C in particular to render it capable of use in such areas. Covers safer subsets and other testing issues.


Hatton L., Hopkins T.R. (1989) "Experiences with Flint, a software metrication tool for Fortran 77", Symposium on Software Tools, Napier Polytechnic, Edinburgh, Scotland.
A description of various measurements made on the NAG scientific subroutine library.


Leveson, N. G., (1995) "Safeware: System Safety and Computers", Addison-Wesley, ISBN 0-201-11972-2
A detailed treatise on safety in computer systems generally, written by an internationally recognised authority, covering many issues.


McCabe, T. (1976) "A complexity measure", IEEE Transactions on Software Engineering, SE-2, (4), p 308-320.
A standard work on cyclomatic complexity.


Musa, J., Iannino and Okumuto, (1987) "Software Reliability: Measurement, Prediction, Application", McGraw-Hill
Covers a wide range of issues on reliability in considerable detail.


Nejmeh, B.A. (1988), "NPATH: A measure of execution path complexity and its applications", Comm ACM, 31, (2), p. 188-200.
Definition and measurements of a path count complexity algorithm with a C pseudo-code implementation.




Index