SimTester: A controllable and observable testing framework for embedded systems

Tingting Yu, Witawas Srisa-An, Gregg Rothermel

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

10 Scopus citations

Abstract

In software for embedded systems, the frequent use of interrupts for timing, sensing, and I/O processing can cause concurrency faults to occur due to interactions between applications, device drivers, and interrupt handlers. This type of fault is considered by many practitioners to be among the most difficult to detect, isolate, and correct, in part because it can be sensitive to execution interleavings and often occurs without leaving any observable incorrect output. As such, commonly used testing techniques that inspect program outputs to detect failures are often ineffective at detecting them. To test for these concurrency faults, test engineers need to be able to control interleavings so that they are deterministic. Furthermore, they also need to be able to observe faults as they occur instead of relying on observable incorrect outputs. In this paper, we introduce SimTester, a framework that allows engineers to effectively test for subtle and non-deterministic concurrency faults by providing them with greater controllability and observability. We implemented our framework on a commercial virtual platform that is widely used to support hardware/software co-designs to promote ease of adoption. We then evaluated its effectiveness by using it to test for data races and deadlocks. The result shows that our framework can be effective and efficient at detecting these faults.

Original languageEnglish
Title of host publicationVEE'12 - Proceedings of the ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments
Pages51-61
Number of pages11
DOIs
StatePublished - 2012
Event8th ACM SIGPLAN/SIGOPS Conference on Virtual Execution Environments, VEE'12 - London, United Kingdom
Duration: Mar 3 2012Mar 4 2012

Publication series

NameVEE'12 - Proceedings of the ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments

Conference

Conference8th ACM SIGPLAN/SIGOPS Conference on Virtual Execution Environments, VEE'12
Country/TerritoryUnited Kingdom
CityLondon
Period3/3/123/4/12

Keywords

  • concurrency
  • device drivers
  • kernels
  • testing

ASJC Scopus subject areas

  • Artificial Intelligence
  • Information Systems

Fingerprint

Dive into the research topics of 'SimTester: A controllable and observable testing framework for embedded systems'. Together they form a unique fingerprint.

Cite this