Model Checking-Based Software Testing for Function-Block Diagrams

Software testing becomes more complex, more time-consuming, and more expensive. The risk that software errors remain undetected and cause critical failures increases. Consequently, in safety-critical development, testing software is standardized and it requires an engineer to show that tests fully e...

Full description

Bibliographic Details
Main Author: Enoiu, Eduard
Format: Others
Language:English
Published: Mälardalens högskola, Inbyggda system 2014
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-26003
http://nbn-resolving.de/urn:isbn:978-91-7485-166-3
id ndltd-UPSALLA1-oai-DiVA.org-mdh-26003
record_format oai_dc
spelling ndltd-UPSALLA1-oai-DiVA.org-mdh-260032014-11-04T05:50:23ZModel Checking-Based Software Testing for Function-Block DiagramsengEnoiu, EduardMälardalens högskola, Inbyggda systemVästerås : Mälardalen University2014Software testing becomes more complex, more time-consuming, and more expensive. The risk that software errors remain undetected and cause critical failures increases. Consequently, in safety-critical development, testing software is standardized and it requires an engineer to show that tests fully exercise, or cover, the logic of the software. This method often requires a trained engineer to perform manual test generation, is prone to human error, and is expensive or impractical to use frequently in production. To overcome these issues, software testing needs to be performed earlier in the development process, more frequently, and aided by automated tools. We devised an automated test generation tool called COMPLETETEST that avoids many of those problems. The method implemented in the tool and described in this thesis, works with software written in Function Block Diagram language, and can provide tests in just a few seconds. In addition, it does not rely on the expertise of a researcherspecialized in automated test generation and model checking. Although COMPLETETEST itself uses a model checker, a complex technique requiring a high level of expertise to generate tests, it provides a straightforward tabular interface to the intended users. In this way, its users do not need to learn the intricacies of using this approach such as how coverage criteria can be formalized and used by a model checker to automatically generate tests. If the technique can be demonstrated to work in production, it could detect and aid in the detection of errors in safety-critical software development, where conventional testing is not always applicable and efficient. We conducted studies based on industrial use-case scenarios from Bombardier Transportation AB, showing how the approach can be applied to generate tests in software systems used in the safety-critical domain. To evaluate the approach, it was applied on real-world programs. The results indicate that it is efficient in terms of time required to generate tests and scales well for most of the software. There are still issues to resolve before the technique can be applied to more complex software, but we are already working on ways to overcome them. In particular, we need to understand how its usage in practice can vary depending on human and software process factors. Licentiate thesis, comprehensive summaryinfo:eu-repo/semantics/masterThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-26003urn:isbn:978-91-7485-166-3Mälardalen University Press Licentiate Theses, 1651-9256 ; 182application/pdfinfo:eu-repo/semantics/openAccess
collection NDLTD
language English
format Others
sources NDLTD
description Software testing becomes more complex, more time-consuming, and more expensive. The risk that software errors remain undetected and cause critical failures increases. Consequently, in safety-critical development, testing software is standardized and it requires an engineer to show that tests fully exercise, or cover, the logic of the software. This method often requires a trained engineer to perform manual test generation, is prone to human error, and is expensive or impractical to use frequently in production. To overcome these issues, software testing needs to be performed earlier in the development process, more frequently, and aided by automated tools. We devised an automated test generation tool called COMPLETETEST that avoids many of those problems. The method implemented in the tool and described in this thesis, works with software written in Function Block Diagram language, and can provide tests in just a few seconds. In addition, it does not rely on the expertise of a researcherspecialized in automated test generation and model checking. Although COMPLETETEST itself uses a model checker, a complex technique requiring a high level of expertise to generate tests, it provides a straightforward tabular interface to the intended users. In this way, its users do not need to learn the intricacies of using this approach such as how coverage criteria can be formalized and used by a model checker to automatically generate tests. If the technique can be demonstrated to work in production, it could detect and aid in the detection of errors in safety-critical software development, where conventional testing is not always applicable and efficient. We conducted studies based on industrial use-case scenarios from Bombardier Transportation AB, showing how the approach can be applied to generate tests in software systems used in the safety-critical domain. To evaluate the approach, it was applied on real-world programs. The results indicate that it is efficient in terms of time required to generate tests and scales well for most of the software. There are still issues to resolve before the technique can be applied to more complex software, but we are already working on ways to overcome them. In particular, we need to understand how its usage in practice can vary depending on human and software process factors.
author Enoiu, Eduard
spellingShingle Enoiu, Eduard
Model Checking-Based Software Testing for Function-Block Diagrams
author_facet Enoiu, Eduard
author_sort Enoiu, Eduard
title Model Checking-Based Software Testing for Function-Block Diagrams
title_short Model Checking-Based Software Testing for Function-Block Diagrams
title_full Model Checking-Based Software Testing for Function-Block Diagrams
title_fullStr Model Checking-Based Software Testing for Function-Block Diagrams
title_full_unstemmed Model Checking-Based Software Testing for Function-Block Diagrams
title_sort model checking-based software testing for function-block diagrams
publisher Mälardalens högskola, Inbyggda system
publishDate 2014
url http://urn.kb.se/resolve?urn=urn:nbn:se:mdh:diva-26003
http://nbn-resolving.de/urn:isbn:978-91-7485-166-3
work_keys_str_mv AT enoiueduard modelcheckingbasedsoftwaretestingforfunctionblockdiagrams
_version_ 1716719343653355520