Beschreibung
Automotive software is mainly concerned with safety critical systems and the functional correctness of the software is very important. Thus static software analysis, being able to detect runtime errors in software, has become a standard in the automotive domain. The most critical runtime error is one which only occurs sporadically and is therefore very difficult to detect and reproduce. The introduction of multicore hardware enables an execution of the software in real parallel. A reason for such an error is e.g., a race condition. Hence, the risk of critical race conditions increases.
This thesis introduces the MEMICS software verification approach. In order to produce precise results, MEMICS works based on the formal verification technique, bounded model checking. The internal model is able to represent an entire automotive control unit, including the hardware configuration as well as real-time operating systems like AUTOSAR and OSEK. The proof engine used to check the model is a newly developed interval constraint solver with an embedded memory model. MEMICS is able to detect common runtime errors, like e.g., a division by zero, as well as concurrent ones, like e.g., a critical race condition.
Autorenportrait
Johannes Frederik Jesper Traub:
Johannes Traub studied computer science and information technology with focus on embedded systems and formal verification. From 2011 to 2013 he worked at Daimler AG on the project ``Automotive, Railway and Avionics Multicore Systems'', funded by the German Federal Ministry of Education and Research (BMBF). Since 2013 he has worked at Daimler AG on software architecture for powertrain with focus on multicore and timing.