SaDIES. Safe Dynamic Software Instrumentation for Embedded Systems
SaDIES pursuits three main goals and will combine fault-tolerance techniques with static analysis of the code.
Description of the project
An important part of the safety certification of a software-based product is the qualification of the software tools used during the desing and the evaluation of the product. Different types of tools may contribute to system hazards differently: design tools may introduce errors, whereas verification tools may fail to detect the errors introduced in earlier phases.
SaDIES pursuits three main goals:
• Definition of a more mature set of techniques for dynamic software instrumentation,
especially tailored for safety-critical applications and embedded systems. This
includes definition of adequate safety mechanisms.
• Identification and development of the verification techniques needed for collecting
the evidence about the correctness of such novel instrumentation techniques.
• Definition of a methodology for tool qualification according to the safety standards
EN 50126/50128/50129 and ISO26262.
Qualification of a dynamic software instrumentation tool is particularly challenging because it is a tool for verification that can in fact introduce errors, since it modifies the actual object code. Therefore, it must be treated rather as a design tool. However, and to make things even more challenging, it is a design tool placed at the very end of the tool chain, and whose output is (at least in current implementations) not checked by any subsequent verification tool.
Our approach will combine fault-tolerance techniques with static analysis of the code. The research is carried out in close cooperation with Bombardier and Volvo Construction Equipment.