October 30 | 10:00 – 11:00 | Room 0D
How to reproduce unreproducible defects in embedded systems
Unreproducible defects are one of the most frustrating phenomena in the area of Software and Firmware validation.
This problem is painful in Embedded systems where products have very limited capabilities for debug and tracing. It is even more painful in embedded Security systems, where debug is yet more limited due to security concerns.
So what is the magic?
Instruction-Based profiling (=IBP) is a well-defined hardware feature that some CPUs support. It allows logging detailed information about software execution with minimal impact to the system execution.
IBP is a very powerful tool that can give insights on how the software really behaves on the actual target platform.
An advanced IBP mechanism can support also full Data Trace, that can log not just the executed instructions, but also the data attached to them.
The combination of IBP with Data Trace can be used for full “Record & Replay” flow on instruction-accurate simulator, thus allow to fully reproducing the “unreproducible” defects.
In addition, this feature has significant advantages for Security system, as full track of all function in/out parameters and return values. It can also help catching not allowed memory accesses.
For safety systems, IBP allows significant improvements for code coverage. It can gives not just simple code coverage, but also flow coverage, showing exactly how many times each function was called and from where. All this with minimal impact on the flow execution.
Itai Lahat is a program manager and technical lead at Intel Israel, specialized in FW Operating System and Security. Itai has been validating various FW solutions in Intel’s vPro™ Technology, including embedded applications, FW Operating-Systems and special FW modules that are embedded into Intel Silicon. Itai taught for several years the Software Testing course at the Azrieli College of Engineering Jerusalem.