The embedded software and firmware domains present a set of unique challenges to the teams tasked with designing, coding, and delivering the software that drives today’s modern electronic devices. These challenges include:
- Dealing with the complexities of real-world asynchronous device behavior.
- Real-time processing and responsiveness constraints.
- Designing and architecting software to accommodate 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 professionally trained on software design and related best practices.
Given these challenges, an embedded software engineering team may need strategic help from experts in this domain. Tasked with a software source code review, we will:
- Familiarize ourselves with top-level product requirements.
- Discuss with and interview the 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 ourselves while applying decades of embedded software engineering experience to the areas of highest concern.
- Deliver a formal (or informal) report with actionable short term and long term advice to improve the software.
- Iterate and repeat as desired.
If your team could benefit from a professional and expert level source code review, please contact us at: firstname.lastname@example.org.