Eliminating Critical Software Errors in Embedded Code