According to the National Bureau of Standards, the cost of testing (including the cost of defects uncovered after production) is 50% of the total system development effort.

Embedded Systems Software Services

Development

Developing embedded systems software (firmware) requires more than proficiency with the programming language and computer science fundamentals. A thorough understanding of the microprocessor, the peripheral devices, the electronics that drive the interfaces, and the real-time behavior is required.

Testing/Analysis

Programmers typically miss over 50% of the defects they've introduced into their own code. Testing can be difficult, time-consuming, and costly. But it's especially costly when it's not done well, and software defects end up in the production code, to be uncovered by Example of Priority Inversion Problemyour customer.

Safety/Risk

Reliable software is not necessarily safe! The software may fail "reliably" whenever a given set of conditions are present.

Safety is a property of the system in which the software runs, so software safety can never be evaluated in isolation.

Support

Successfully fielding an embedded systems-based product involves many varied disciplines. The challenges increase when new processors, languages, technologies, or markets are also introduced.