Preventing software bugs from reaching our customers requires multiple layers of defense. This post explores seven layers of bug prevention.
Extreme Asynchronous Firmware Design
Firmware designs typically handle asynchronous events. But what happens when those events take seconds or even minutes to respond? Download this article to learn more.
The Anatomy of a Race Condition
What is a race condition? This post defines and explores this troublesome software flaw.
Unit Testing of Active Objects and State Machines
How do we unit test an active object or state machine? This post explores techniques for successful unit testing of modules driven by state machines.
The Matthew Test: 15 Steps to Better Embedded Software (and Firmware)
15 quick yes/no questions and associated recommendations for creating better embedded software and firmware.