On the Role of Program Comprehension in Embedded Systems.
Janet Feigenspan, Norbert Siegmund, Jana Fruth · 2011
Today, we are surrounded by computers. However, only a minor part is working stations we might think of. The major part, about 98 %, are embedded systems [15], for example PDAs, mobile phones, sensors, or credit cards. For embedded systems, resource constraints regarding memory capacity and performance are characteristic. Furthermore, the hardware is heterogeneous, which leads to challenges regarding how to tailor software to actual hardware of application scenarios [10]. In practice, embedded systems are typically implemented in C using conditional compilation with the C preprocessor. Conditional compilation allows users to customize software to new hardware without having to implement or adapt source code. To illustrate