Barr Group TwitterBarr Group Vimeo

The primary reason for adopting Barr Group's Embedded C Coding Standard is to reduce the number of bugs present in new embedded software (a.k.a., firmware) and in code later added or modified by maintainers. Whenever it is generally the case that one rule chosen from a set of alternatives has the ability to keep bugs out, that is the rule we recommend. Following these rules as a set will help you keep bugs out in the first place.

Of course, a coding standard cannot by itself eliminate all of the bugs from a complex embedded system. Thus this coding standard should be applied as part of a broader embedded software development and quality assurance process. An appropriate process may be lightweight but must emphasize the importance of software and system architecture as well as programmer skills training and should include at least the use of design reviews, code reviews, and version control. Other important reasons for adopting this coding standard include increasing the readability and portability of source code, so that firmware may be maintained and reused at lower cost. A coding standard benefits a team of developers and the larger organization by reducing the time required by individuals to understand or review the work of peers.


Unfortunately, C and C++ coding standards too often focus primarily on stylistic preferences: missing their chance to help reduce bugs in embedded systems. By contrast, MISRA's guidelines for the use of the C programming language in safety-critical systems offers great advice for using only a subset of the language to eliminate bugs but offers essentially no guidance on practical day-to-day issues of style.

For a look at 10 practical bug-killing coding standard rules that accomplish both of these goals, read the article:

    Ten Bug-Killing Coding Standard Rules for Embedded Systems

For a look at 5 additional practical coding standard rules that accomplish both bug-killing and stylistic goals, read the follow-on article:

    Five More Bug-Killing Coding Standard Rules for Embedded Systems

What’s happening and how it’s done. Get in the know.

Sign Up for Our Newsletter

Receive free how-to articles, industry news, and the latest info on Barr Group webinars and training courses via email. 

To prevent automated spam submissions leave this field empty.