Some assembly required: program analysis of embedded system code

Ansgar Fehnker, Ralf Huuck, Felix Rauch, Sean Seefried

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

10 Citations (Scopus)

Abstract

Programming embedded system software typically involves more than one programming language. Normally, a high-level language such as C/C++ is used for application oriented tasks and a low-level assembly language for direct interaction with the underlying hardware. In most cases those languages are closely interwoven and the assembly is embedded in the C/C++ code. Verification of such programs requires the integrated analysis of both languages at the same time. However, common algorithmic verification tools fail to address this issue. In this work we present a model-checking based static analysis approach which seamlessly integrates the analysis of embedded ARM assembly with C/C++ code analysis. In particular, we show how to automatically check that the ARM code complies to its interface descriptions. Given interface compliance, we then provide an extended analysis framework for checking general properties of ARM code. We implemented this analysis in our source code analysis tool Goanna, and applied to the source code of an L4 micro kernel implementation.
Original languageEnglish
Title of host publicationProceedings of Eighth IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2008)
EditorsJames R. Cordy, Lu Zhang
Place of PublicationLos Alamitos, CA
PublisherInstitute of Electrical and Electronics Engineers (IEEE)
Pages15-24
Number of pages10
ISBN (Print)9780769533537
DOIs
Publication statusPublished - 2008
Externally publishedYes
Event8th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2008 - Beijing, China
Duration: 28 Sept 200829 Sept 2008

Conference

Conference8th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2008
Country/TerritoryChina
CityBeijing
Period28/09/0829/09/08

Fingerprint

Dive into the research topics of 'Some assembly required: program analysis of embedded system code'. Together they form a unique fingerprint.

Cite this