Randy Marques
Eindhoven, Netherlands
RMC Logo
Randy Marques Consultancy
Embedded Software Development
Safer C Logo
Discontinued on December 21st, 2019

Safer C ™ - The Course

  1. Home
  2. Safer C™
  3. Generic Build Support (GBS)
  4. Who Am I
  5. Contact

Avoiding The Avoidable

After any investment in the development of a new software system, a company will generally spend twice as much time and money on maintenance after the first release of the software.

Studies have shown that 40% of all software failures could have been avoided even before the source code was compiled. Approximately 10% of all the code supplied to test and integration projects from development projects is not even testable!
Software failure is currently responsible for a great deal of unnecessary expense, most of which can be avoided through the application of simple rules and methods.

The course, developed by Les Hatton of Oakwood Computing Associates Limited, is fully illustrated with examples taken from real systems, and offers many surprising facts and important clues on how to create more reliable software. The course focuses primarily on C, but also touches upon Ada, C++ and Java. Some aspects of the later C standards C99-C11 for developers are also discussed.

Oakwood Computing Logo Safer C™ is a trademark of
Oakwood Computing Associates Limited

Open Courses:

Open Courses are discontinued
Ask for On-Site course.
Minimum number of participants: 8


Course Overview

Many software failures could have been avoided using techniques we already know how to do but for some reason, do not use. One such area of significant measurable failure is inadvertent misuse of the programming language. C is particularly prone to this and a significant number of system failures can be traced to this in spite of the fact that a great deal is known on how to avoid such failures. In view of the prominence of C in consumer electronic system development today, this course presents a practical development philosophy based around the notion of safer subsets of C. Copious data is presented showing how real C systems fail, followed by detailed strategies to avoid these failures.

It is well-known that C has avoidable fault modes which have caused many systems to fail. This course teaches how to develop more reliable systems by the use of appropriate avoidance techniques.

You Should Attend This Course If:

  • You would like to improve your knowledge of known fault modes in C.
  • You would like a more rounded background in high-integrity and safety-critical system development.
  • You develop software for embedded systems.

Course Prerequisites

Some C programming experience is highly desirable, although a number of people have taken the course with very little such experience.


  • Safety and standardization in software controlled systems
    • Safety standards, process measurement standards
    • Language standards validation
  • The C programming language
    • A safety critique
    • Types of poorly-defined behaviour
    • Empirically determined misbehaviour
    • Unexpected behaviour
    • C/C++ compatibility
    • Defining a safe(r) subset
    • MISRA C
  • Key areas of difficulty in C
    • The pre-processor
    • Types
    • Pointers
    • Expressions
    • Scope, linkage and namespaces
    • Interfaces
    • The library
  • Safety-related development techniques in C
    • Inspections
    • Objective test coverage
    • Safety analysis
    • Diversity
  • The Influence of complexity on safety
  • Comparison with other languages
  • Some notes on OO development
  • Tips & Tricks supplement

Course Materials

Safer C Book
  • A complete copy of all overheads and workshops including worked answers.
  • A copy of the Safer C™ book.
  • A free copy of the Primer edition of the Safer C™ toolset.

Course Duration

2 Days. 09:00 - 17:00

Course Language

Dutch, English or Papiamento
Course materials are in English

Course Fee

Open Course



Ask for a quotation

On-site Training

  • Reduced Fee, depending on number of participants.
  • Min. 8, Max. 20 participants
  • Adaptable course hours (e.g. 4 x 4 hours or afternoon + evening)

Course Cancellation Policy

Refer to:
Contact→Course Cancellation Policy


Randy Marques: Contact

About the Author and the Trainer

The course was developed by Prof. Dr. Les Hatton of Kingston University, London. He is a member of the British Programming Languages Committee.
He is cited amongst the leading scholars of systems and software engineering by the Journal of Systems and Software.
The Safer C course is an internationally acclaimed high level course on the usage of the C language. There is no equivalent.
It is updated on a regular basis in order to keep up with the latest developments.
As Mr. Hatton is very concerned about the level on which the course is given only two people are allowed to teach the Safer C course.

Randy Marques is a member of the Dutch Programming Languages Committee (NEN), representing the Netherlands in the international 'ANSI C' committee (WG14) and is backed up by more than 45 years of experience in software engineering. He is considered as the expert on the C language in the Netherlands
He is an appreciated speaker at universities, conferences and companies all over the world on the topics of code quality, SCM and build automation. (Shanghai, Tokyo, Bangalore, Oxford and other cities in Europe)