A model checker for microcontroller assembly programs called [mc]square has been developed at the Chair of Computer Science 11. [mc]square is a CTL model checker which expects as input an assembly or a C program. It can automatically create the system model by simulating the execution of the examined program. Simulation is performed by a simulator for the target platform. Using this approach, it is possible to find even such errors that occur only under rare circumstances, such as sequences of interrupts that need to occur in a special order to show up a malfunction.
These are the platforms currently supported by [mc]square:
Each of these simulators has been created manually. Some are the result of diploma and master theses.
Even though the current approach of manually implementing simulators works, it is not optimal. Implementing simulators manually takes too much time. In order to accelerate development, hardware properties shall be described by means of an architecture description language. Hardware properties refers for instance to the instruction set, available memories and the on-chip peripherals. The simulator shall then be generated from this description by software generator tools. Implementing these generator tools is part of the task.
Hints for applications.
Student: Ivica Bogosavljevic