Barr Group FacebookBarr Group TwitterBarr Group LinkedInBarr Group Vimeo

Course Overview

Course Length: 
1 Day
CEUs: 
0.7
Format: 
Lecture

Embedded software expert Michael Barr presents new techniques for keeping bugs out with coding standards.

 Printable PDF

There are many sources of bugs in software programs. Some bugs are created by the original programmer. Other bugs result from misunderstandings of the original code by those who maintain, extend, and/or reuse (or port) that code at a later time. The number of bugs introduced by the original programmer can be reduced through the disciplined application of certain coding practices. In addition, some types of bugs caused by maintenance programmers can be prevented by the original programmer through commenting and careful and consistent naming of variables and functions.

Coding standards, which consider these issues from the start, are valuable tools to keep bugs out of medical devices and other safety-critical embedded systems. This course demonstrates how coding standards can be used to effectively keep software bugs out of C and C++ programs. The price of the course includes a license to use and modify a Microsoft Word copy of Barr Group's Embedded C Coding Standard and attendees are shown how to easily tailor that to the needs of their organization.

Syllabus

The following is a summary of the major course topics and should not considered the section-by-subsection lecture breakdown.

  • Introduction
    • Purpose of a Standard
    • Guiding Principles
    • Enforcement Procedure
    • Deviation Procedure
  • General Rules
    • Which C?
    • Line Width
    • Braces
    • Parentheses
    • Common Abbreviations
    • Casts
    • Keywords to Avoid
    • Keywords to Frequent
  • Comments
    • Acceptable Formats
    • Location and Content
  • White Space
    • Spaces
    • Alignment
    • Blank Lines
    • Indentation
    • Tabs
    • Linefeeds
  • Modules
    • Naming Conventions
    • Header Files
    • Source Files
    • File Templates
  • Data Types
    • Naming Conventions
    • Fixed-Width Integers
    • Signed Integers
    • Floating Point
    • Structures and Unions
  • Procedures
    • Naming Conventions
    • Functions
    • Function-Like Macros
    • Tasks
    • Interrupt Service Routines
  • Variables
    • Naming Conventions
    • Initialization
  • Expressions and Statements
    • Variable Declarations
    • If-Else Statements
    • Switch Statements
    • Loops
    • Unconditional Jumps
    • Equivalence Tests

Audience

  • Embedded software developers
  • Technical leaders and managers

Prerequisites

Attendees should be familiar with the C programming language.

Related Courses

Upcoming Sessions

Date(s) Location PRICE Register
May 10 Developing Effective Coding Standards
Germantown, Maryland, United States $699.00 *
Inquire

Find out More

To find out more about our upcoming public trainings, go to our Training Calendar.

Contact Us to find out more about this course or to enquire about an on-site training at your company.

Recording Policy

All Barr Group Training Public and On-site courses may not be audiotaped, videotaped or photographed without consent from Barr Group's executive team.  Barr Group reserves the right to record portions or all of a training course for instructional purposes.  As a result, attendees present may also appear on the recording.