Automatic bug detection in microcontroller software by static program analysis

Ansgar Fehnker, Ralf Huuck, Bastian Schlich, Michael Tapp

Research output: Chapter in Book/Report/Conference proceedingConference proceeding contributionpeer-review

11 Citations (Scopus)

Abstract

Microcontroller software typically consists of a few hundred lines of code only, but it is rather different from standard application code. The software is highly hardware and platform specific, and bugs are often a consequence of neglecting subtle specifications of the microcontroller architecture. Currently, there are hardly any tools for analyzing such software automatically. In this paper, we outline specifics of microcontroller software that explain why those programs are different to standard C/C++ code. We develop a static program analysis for a specific microcontroller, in our case the ATmega16, to spot code deficiencies, and integrate it into our generic static analyzer Goanna. Finally, we illustrate the results by a case study of an automotive application. The case study highlights that – even without formal proof – the proposed static techniques can be valuable in pinpointing software bugs that are otherwise hard to find.
Original languageEnglish
Title of host publicationSOFSEM 2009: Theory and Practice of Computer Science
Subtitle of host publication35th Conference on Current Trends in Theory and Practice of Computer Science Špindler ̊uv Mlýn, Czech Republic, January 24-30, 2009, Proceedings
EditorsMogens Nielsen, Antonín Kucera, Peter Bro Miltersen, Catuscia Palamidessi, Petr Tuma, Frank D. Valencia
Place of PublicationBerlin
PublisherSpringer, Springer Nature
Pages267-278
Number of pages12
ISBN (Print)9783540958901, 3540958908
DOIs
Publication statusPublished - 2009
Externally publishedYes
Event35th Conference on Current Trends in Theory and Practice of Computer Science, SOFSEM 2009 - Špindleruv Mlýn, Czech Republic
Duration: 24 Jan 200930 Jan 2009

Publication series

NameLecture Notes in Computer Science
PublisherSpringer
Volume5404
ISSN (Print)0302-9743

Conference

Conference35th Conference on Current Trends in Theory and Practice of Computer Science, SOFSEM 2009
Country/TerritoryCzech Republic
CityŠpindleruv Mlýn
Period24/01/0930/01/09

Keywords

  • Model Check
  • Code Base
  • Direct Memory Access
  • Kripke Structure
  • Large State Space

Fingerprint

Dive into the research topics of 'Automatic bug detection in microcontroller software by static program analysis'. Together they form a unique fingerprint.

Cite this