Read more »
Ericpol is now part of Ericsson

Embedded Software Testing and Debugging Masterclass

Duration: 3 or 4 days
Number of participants: recommended optimum 15, maximum 25

Course objectives
The primary goal of this course is to give the participant the skills necessary to systematically identify and correct defects in software for real-time computer systems developed with or without an RTOS. This is a very practical, results-oriented course that will provide knowledge and skills that can be applied immediately.
This Masterclass examines the activities involved in testing and debugging errors, flaws, faults and failures in real-time and embedded systems software.

Testing and debugging are two distinct activities with the shared goal of extracting defects from software and systems. Testing uses systematic, engineering-style methods, while debugging uses investigative, research-style methods.

The class begins with a presentation of the main concepts and principles for systematic testing of embedded systems software. Emphasis is placed on uniquely embedded issues such as flaws in interfacing, multitasking and timing, rather than on general data processing issues.

The class continues with an examination of approaches important in embedded software testing. High-level testing approaches are discussed for advanced stages of system development and integration, including security testing, stress testing and independent verification and validation. Techniques and tools are presented to support these approaches.

The debugging portion of the course starts with a survey of the wide range of categories of bugs from which embedded and real-time software can suffer. It then focuses on a detailed discussion of the “top 5” kinds of bugs that can be “project killers” or “product killers”, including stack overflows, race conditions, deadlocks, timing problems, and re-entrancy conditions. Emphasis is placed on multitasking and timing behaviours. The class continues with an examination of debugging tools that are helpful in real-time software development. ‘Liveness’ issues including deadly embrace, lockout, memory starvation and CPU starvation are discussed in depth. As are the particular sorts of bugs that tend to create problems in multi-tasking software when using real-time operating systems. Emphasis then focuses on the unique sorts of bugs that plague Interrupt Service Routines (ISRs), such as interrupt overflow.

Participants are asked to do detailed exercises on many of the techniques presented, so that the concepts and methods taught are reinforced and absorbed into the participant’s arsenal of testing and debugging skills.
This course is not a general course about software testing and debugging, but rather it is highly focused on the testing and debugging of embedded, time-constrained, resource-constrained multitasking software that may run under the control of a modern real-time operating system (RTOS).

Target audience
This course is intended for practicing real-time and embedded systems software designers, software developers, project managers, testers and quality engineers who have responsibility for planning, implementing, testing and debugging the software for real-time and embedded computer systems.

Prerequisites
Course participants are expected to have practical knowledge of coding for real-time and embedded systems, plus some familiarity with at least one RTOS. This knowledge can also be gained by attending one of our prerequisite introductory courses “Introduction to Embedded Systems and Software” or “Introduction to Real-Time Operating Systems”. Additional knowledge useful for attendees of this course can be obtained at the co-requisite advanced course “Architectural Design of Real-Time Software”. For on-site presentation, both courses can be combined in a 4-or 5-day format.

Learning method
The course is based on lectures, discussions, design examples, exercises.

Interesting offer?

Find out more - contact our consultant.

+48 663 426 693 | send us an e-mail » | ask for contact »

Web page ericpol.com uses Cookie files to meet our users expectations. Proper configuration of your web browser allows you to lock saving
of Cookie files or delete them, but can also cause difficulties or lack of operation of the site
Continuing to browse our pages without changing browser settings means that you accept saving Cookie files. Learn more »