This paper describes the application of two abstraction techniques, namely dead variable
reduction and path reduction, to the microcontroller binary code in order to tackle the
state-explosion problem in model checking. These abstraction techniques are based on
static analyses, which have to cope with the peculiarities of the binary code such as
hardware dependencies, interrupts, recursion, and globally accessible memory locations.
An interprocedural static analysis framework is presented that handles these peculiarities.
Based on this framework, extensions of dead variable reduction and path reduction are
detailed. A case study using several microcontroller programs is presented in order to
demonstrate the efficiency of the described abstraction techniques.