• Keine Ergebnisse gefunden

Testing Microcontroller Software Simulators

N/A
N/A
Protected

Academic year: 2022

Aktie "Testing Microcontroller Software Simulators"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Testing Microcontroller Software Simulators

Thomas Reinbacher

Embedded Computing Systems Group Vienna University of Technology

Treitlstr. 3, 1040 Vienna, AT reinbacher@ecs.tuwien.ac.at

Dominique G¨uckel, Stefan Kowalewski Embedded Software Laboratory

RWTH Aachen University Ahornstraße 55, 52074 Aachen, DE lastname@embedded.rwth-aachen.de Martin Horauer

Dept. of Embedded Systems Univ. of Applied Sciences Technikum Wien

H¨ochst¨adtpl. 5, 1200 Vienna, AT horauer@technikum-wien.at

Abstract: Software simulators that emulate equivalent behavior of physical micro- controllers play an important role in the process of software development for embed- ded systems from an early development stage (e.g. when no target hardware is avail- able) to the final verification process (e.g. used in combination with formal methods).

Thus, much reliance is put on the correctness of these simulators. This paper presents a practicable approach to test auto-generated and custom microcontroller simulators (both closed and open-source) against a physical device. We show how to set up a test oracle that allows to run the simulators in parallel, validate individual runs based on a comparison of their accumulated state-space, and – in case an error is found – finger-point to the root cause of the error, thus giving valuable support for fixing the discrepancies. A case study shows that the presented testing framework was able to reveal non-trivial bugs in several implementations.

1 Introduction

A microcontroller (MCU) software simulator emulates the functional and (occasionally) temporal execution environment offered by a physical microcontroller. In practice, MCU software simulators are used both by computer scientists and electronics engineers through- out different product development stages for various different activities (e.g., debugging, profiling, testing and verification). For example, firmware development can start prior to the availability of a functional physical target board, using the simulator for debugging purposes. An orthogonal example of an MCU simulator application is the [MC]SQUARE

binary code verification framework, cf. [Sch08]. The model-checker of [MC]SQUAREre- lies on dedicated microcontroller simulators to construct the state-space out of a given binary program image. The state space is then traversed to prove the validity of given properties.

Even though there is no theoretical limitation to precisely imitate a target microcontroller by a software simulator (by the Church-Turing thesis), a faithful simulator is hard to obtain

333

Referenzen

ÄHNLICHE DOKUMENTE

Then, in case the source and target components meet the membership condition of an ensemble, the execution environment updates the belief of the target

In various robotics projects we have developed MontiArcAutomaton (code) generators for EMF Ecore 1 for graphical editing within Eclipse, Mona [EKM98] theories for verification

Finally, work at a higher level of abstraction through model-driven approaches and take advantage of automation provide additional improvements to productivity..

The EOS 1 model, developed by the second author [He97, He03], was taken as subject of our experiment, since there was no prior elaborated formalisation (which might have bi- ased

Al- though our survey of professionals had mostly developers and low- level managers, it is interesting to see that business impacts are seen as so important: this appears to show

Research Phase Conceptual Phase Design & Development Phase Test & Evaluation Phase Operations & Maintenance Phase SW Subsystem. Design Review Start Test End of

A detailed test log of sine vibration, random vibrations and shock testing conducted for a customer at the Tartu Observatory has been provided in Annex B for reference...

Furthermore, the paper at hand aims to provide more in- sight into the subset of agile practices of a bigger, more general systematic mapping study on the current state of the