Request an estimate for your project.
The embedded software domain presents unique challenges to the teams tasked with designing and coding the software driving today’s modern electronic devices. Overlooking these issues may result in hard-to-diagnose bugs, poor customer experience, or worse: expensive and reputation damaging product recalls. These challenges include:
- Handling complex asynchronous device behavior.
- Real-time processing constraints.
- Implementing reliable interrupts and threads while avoiding common concurrency faults.
- Accommodating a family of related products and SKUs.
- 24×7 operational requirements – no crashes allowed!
- The undefined behavior pitfalls of the commonly used C and C++ languages.
- Engineering teams with a strong focus on electronics design, but perhaps not trained on software design and related best practices.
- Firmware teams are often very small, typically averaging below three team members. Small teams, and especially solo firmware engineers operating with no peer support, will benefit from expert guidance and peer source code review.
Given these challenges, an embedded software engineering team may need strategic help from an expert in this domain. Tasked with an embedded software or firmware source code review, Matthew will:
- Become familiar with top-level product requirements.
- Discuss with and interview the software engineering team to determine the areas of highest concern.
- Perform the source code review, applying automated tools to the task, but especially reviewing the code directly while applying decades of experience to the areas of highest concern.
- Deliver a report with actionable short term and long term advice to improve the software.
- Iterate and repeat as desired.
I love reviewing source code. My sincere desire is to help improve your device’s software quality. Please reach out via the request form noted below.
Request an estimate for your project.
Related resources: