Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Entropy Injection
RISE - Research Institutes of Sweden, ICT, SICS.
2007 (English)Report (Other academic)
Abstract [en]

Testing is the predominant software quality assurance method today, but it has a major flaw --- it cannot reliably catch race conditions, intermittent errors caused by factors that cannot be controlled during testing, such as unpredictable timing behaviour in concurrent software. We present entropy injection, a extension of traditional test methods, which enable developers to create tests for arbitrary types of race conditions in any software application, reusing the application's existing test cases. An entropy injector runs the software under test in an instruction set simulator, where all factors that normally are unpredictable can be explicitly controlled. The injector provokes race condition defects by artificially changing the timing behaviour of the simulated processors, hardware devices, clocks, and input models. Provoked defects can be debugged by developers in a non-intrusive, programmable debugger, which allows race condition defects to be reproduced and provides access to all software state in a distributed system. Developers can use its services to create application-specific injection strategies and directed regression test cases that monitor application state and test specific interleavings of events. Our proof-of-concept entropy injector implementation Njord is built on Nornir, a debugger environment based on the complete system simulator Simics. Njord provokes test case failures by suspending simulated processors, thereby injecting delays in the processes in a concurrent application. We demonstrate Njord on a small test routine, and show how a developer can write a race condition regression test that triggers errors with very high probability, or provoke errors with good probability without using application knowledge.

Place, publisher, year, edition, pages
Swedish Institute of Computer Science , 2007, 1. , p. 42
Series
SICS Technical Report, ISSN 1100-3154 ; 2007:02
Keywords [en]
entropy injection, noise making, race condition, complete system simulation, full system simulation, Nornir
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:ri:diva-22120OAI: oai:DiVA.org:ri-22120DiVA, id: diva2:1041662
Available from: 2016-10-31 Created: 2016-10-31 Last updated: 2018-02-21Bibliographically approved

Open Access in DiVA

fulltext(283 kB)252 downloads
File information
File name FULLTEXT01.pdfFile size 283 kBChecksum SHA-512
7694fafc87112a7ec2f4b93c040a363a2d1897a3f53f1a542c52c366ab22a4ca3f630a6a2a9ec21f7f902149c45574b6bc882d9c209e76540d406b20c25a66b5
Type fulltextMimetype application/pdf

By organisation
SICS
Computer and Information Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 252 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 468 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf