There are many sources of bugs in software programs. Some bugs are created by the original programmer. Other bugs results 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 utilizes the Netrino Embedded C Coding Standard and demonstrates - using the Zero Bugs...Period design methodology - how coding standards should be created to effectively eliminate software bugs in Embedded C. Students are prepared to develop a variant of Netrino's Coding Standard customized to the needs of their organization.
Audience
Programmers, project managers, and technical managers.
Prerequisites
Working familiarity with the C programming language.

Michael Barr is an internationally recognized expert on the design of embedded computer systems. In that role, he has provided expert witness testimony in federal court, appeared on PBS’ American Business Review, and been quoted in various newspapers. He is also the author of two books and more than forty articles on related subjects. For three and a half years Michael served as editor-in-chief of Embedded Systems Programming. In addition, Michael has been a member of the advisory board of the Embedded Systems Conference. Software he wrote continues to power millions of products. Michael holds B.S. and M.S. degrees in electrical engineering and has lectured in the Department of Electrical and Computer Engineering at the University of Maryland, from which he also earned an MBA.