Farago, DavidMerz, FlorianSinz, Carsten2023-03-142023-03-142014https://dl.gi.de/handle/20.500.12116/40847This paper motivates the use of automatic heavy-weight static analysis tools to find bugs in C (and C++) code for safety-critical embedded systems. By heavy-weight we mean tools that employ powerful analysis to cover all cases. The paper introduces two automatic and relatively heavy-weight tools that are currently employed in the automotive industry, and depicts their underlying techniques, advantages, and disadvantages. Since their results are often imprecise (false positives or false negatives), we advocate the use of alternative techniques such as software bounded model checking (SBMC), which can achieve bit-precise results. Finally, the tool LLBMC is described as an example of a tool implementing SBMC, which makes use of satisfiability modulo theories (SMT) decision procedures as well as the LLVM compiler framework.enAutomatic Heavy-weight Static Analysis Tools for Finding Bugs in Safety-critical Embedded C/C++ CodeText/Journal Article0720-8928