Digitala Vetenskapliga Arkivet

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
Combining Fault-Injection with Property-Based Testing
SP Electronics, SP Technical Research, Institute of Sweden, Borås, Sweden.ORCID iD: 0000-0003-1713-3726
Quviq AB, Göteborg, Sweden.
SP Electronics, SP Technical Research, Institute of Sweden, Borås, Sweden.
Halmstad University, School of Information Technology, Halmstad Embedded and Intelligent Systems Research (EIS), Centre for Research on Embedded Systems (CERES).ORCID iD: 0000-0002-6526-3931
2014 (English)In: ES4CPS: Workshop Proceedings of Engineering Simulations for Cyber Physical Systems, New York: ACM Press, 2014Conference paper, Published paper (Refereed)
Abstract [en]

In this paper we present a methodology and a platform using Fault Injection (FI) and Property-Based Testing (PBT). PBT is a technique in which test cases are automatically generated from a specification of a system property. The generated test cases vary input stimuli as well as the sequence in which commands are executed. FI is used to accelerate the occurrences of faults in a system to exercise and evaluate fault handling mechanisms and e.g. calculate error detection coverage. By combining the two we have achieved a way of randomly injecting different faults at arbitrary moments in the execution sequence while checking whether certain properties still hold. We use the commercially available tool QuickCheck for generating the test cases and developed FaultCheck for FI. FaultCheck enables the user to utilize fault models, commonly used during FI, from PBT tools like QuickCheck. We demonstrate our method and tools on a simplified example of two Airbag systems that should meet safety requirements. We can easily find a safety violation in one of the examples, whereas by using the AUTOSAR E2E-library implementation, exhaustive testing cannot reveal any such safety violation. This demonstrates that our approach on testing can reveal certain safety violations in a cost-effective way. © 2014 ACM.

Place, publisher, year, edition, pages
New York: ACM Press, 2014.
Series
ACM International Conference Proceedings Series
Keywords [en]
Fault model, QuickCheck, FaultCheck, Fault Injection, Property-Based Testing
National Category
Telecommunications
Identifiers
URN: urn:nbn:se:hh:diva-27414Scopus ID: 2-s2.0-84904571627ISBN: 978-1-4503-2614-8 (print)OAI: oai:DiVA.org:hh-27414DiVA, id: diva2:776036
Conference
Workshop on Engineering Simulations for Cyber Physical Systems, ES4CPS 2014 - Held in Conjunction with the Conference DATE 2014 – Design, Automation and Test in Europe, Dresden, Germany, 28 March, 2014
Available from: 2015-01-06 Created: 2015-01-06 Last updated: 2018-11-22Bibliographically approved
In thesis
1. Testing Safety-Critical Systems using Fault Injection and Property-Based Testing
Open this publication in new window or tab >>Testing Safety-Critical Systems using Fault Injection and Property-Based Testing
2015 (English)Licentiate thesis, comprehensive summary (Other academic)
Abstract [en]

Testing software-intensive systems can be challenging, especially when safety requirements are involved. Property-Based Testing (PBT) is a software testing technique where properties about software are specified and thousands of test cases with a wide range of inputs are automatically generated based on these properties. PBT does not formally prove that the software fulfils its specification, but it is an efficient way to identify deviations from the specification. Safety-critical systems that must be able to deal with faults, without causing damage or injuries, are often tested using Fault Injection (FI) at several abstraction levels. The purpose of FI is to inject faults into a system in order to exercise and evaluate fault handling mechanisms. The aim of this thesis is to investigate how knowledge and techniques from the areas of FI and PBT can be used together to test functional and safety requirements simultaneously.

We have developed a FI tool named FaultCheck that enables PBT tools to use common FI-techniques directly on source code. In order to evaluate and demonstrate our approach, we have applied our tool FaultCheck together with the commercially available PBT tool QuickCheck on a simple and on a complex system. The simple system is the AUTOSAR End-to-End (E2E) library and the complex system is a quadcopter simulator that we developed ourselves. The quadcopter simulator is based on a hardware quadcopter platform that we also developed, and the fault models that we inject into the simulator using FaultCheck are derived from the hardware quadcopter platform. We were able to efficiently apply FaultCheck together with QuickCheck on both the E2E library and the quadcopter simulator, which gives us confidence that FI together with PBT can be used to test and evaluate a wide range of simple and complex safety-critical software.

Place, publisher, year, edition, pages
Halmstad: Halmstad University Press, 2015. p. 85
Series
Halmstad University Dissertations ; 13
Keywords
Fault Injection, FaultCheck, Property-Based Testing, Simulation, Fault Model, Quadcopter, E2E
National Category
Computer and Information Sciences Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
urn:nbn:se:hh:diva-28173 (URN)978-91-87045-29-5 (ISBN)978-91-87045-28-8 (ISBN)
Presentation
2015-05-26, Wigforssalen, House Visionen, Kristian IV:s väg 3, Halmstad, 10:15
Opponent
Supervisors
Projects
PROWESSKARYON
Funder
EU, FP7, Seventh Framework ProgrammeKnowledge Foundation
Note

This research has been funded through the PROWESS EU project (Grant agreement no: 317820), the KARYON EU project (Grant agreement no: 288195) and through EISIGS (grants from the Knowledge Foundation).

Available from: 2015-05-04 Created: 2015-04-27 Last updated: 2022-09-13Bibliographically approved
2. On the Design and Testing of Dependable Autonomous Systems
Open this publication in new window or tab >>On the Design and Testing of Dependable Autonomous Systems
2018 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Designing software-intensive embedded systems for dependable autonomous applications is challenging. In addition to fulfilling complex functional requirements, the system must be safe under all operating conditions, even in the presence of faults. The key to achieving this is by simulating and testing the system enough, including possible faults that can be expected, to be confident that it reaches an acceptable level of performance with preserved safety. However, as the complexity of an autonomous system and its application grows, it becomes exponentially more difficult to perform exhaustive testing and explore the full state space, which makes the task a significant challenge.

Property-Based Testing (PBT) is a software testing technique where tests and input stimuli for a system are automatically generated based on specified properties of the system, and it is normally used for testing software libraries. PBT is not a formal proof that the system fulfills the specified properties, but an effective way to find deviations from them. Safety-critical systems that must be able to deal with hardware faults are often tested using Fault Injection (FI) at several abstraction levels. The purpose of FI is to inject faults into a system in order to exercise and evaluate fault handling mechanisms. In this thesis, we utilize techniques from PBT and FI, for automatically testing functional and safety requirements of autonomous system simultaneously. We have done this on both simulations of hardware, and on real-time hardware for autonomous systems. This has been done in the process of developing a quadcopter system with collision avoidance, as well as when developing a self-driving model car. With this work we explore how tests can be auto-generated with techniques from PBT and FI, and how this approach can be used at several abstraction levels during the development of these systems. We also explore which details and design choices have to be considered while developing our simulators and embedded software, to ease testing with our proposed methods.

Place, publisher, year, edition, pages
Halmstad: Halmstad University Press, 2018. p. 171
Series
Halmstad University Dissertations ; 52
National Category
Computer Engineering
Identifiers
urn:nbn:se:hh:diva-38403 (URN)978-91-88749-10-9 (ISBN)978-91-88749-11-6 (ISBN)
Public defence
2018-12-19, Wigforssalen, Visionen, Kristian IV:s väg 3, Halmstad, 13:15 (English)
Opponent
Supervisors
Available from: 2018-11-26 Created: 2018-11-22 Last updated: 2019-04-25Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

ScopusFull text

Search in DiVA

By author/editor
Vedder, BenjaminJonsson, Magnus
By organisation
Centre for Research on Embedded Systems (CERES)
Telecommunications

Search outside of DiVA

GoogleGoogle Scholar

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 268 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