TY - JOUR T1 - Effective Integer Promotion Bug Detection Technique for Embedded Software AU - Kim, Yunho AU - Kim, Taejin AU - Kim, Moonzoo AU - Lee, Ho-jung AU - Jang, Hoon AU - Park, Mingyu JO - Journal of KIISE, JOK PY - 2016 DA - 2016/1/14 DO - KW - software testing KW - embedded software KW - integer promotion bug KW - dynamic symbolic execution AB - C compilers for 8-bit MCUs used in washing machines and refrigerators often do not follow the C standard to improve runtime performance. Developers who are unaware of the difference between C compilers following the C standard and the C compilers for 8-bit MCU can cause bugs that do not appear in the standard C environment but appear in the embedded systems using 8-bit MCUs. It is difficult for bug detectors that assume the standard C environment to detect such bugs. In this paper, we introduce integer promotion bugs caused by the different integer promotion rules of the C compilers for 8-bit MCU from the C standard and propose 5 bug patterns where the integer promotion bugs occur. We have developed an integer promotion bug detection tool and applied it to the washing machine control software developed by the LG electronics. The integer promotion bug detection tool successfully detected 27 integer promotion bugs in the washing machine control software.