String constraint solving pro automatickém generování testů pro simulinkové modely
Loading...
Date
Authors
Ráček, Jakub
Advisor
Referee
Mark
B
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
ORCID
Abstract
Verifikace softwaru v bezpečnostně kritických systémech, jako jsou systémy řízení letu, vyžaduje rigorózní procesy, včetně zajištění sledovatelnosti od požadavků k testovacím vektorům. Navrhujeme způsob, jak plně využít SMT řešič Z3-Noodler pro automatické generování testovacích vektorů na základě požadavků pro Simulinkové modely, což umožňuje efektivní zpracování datového typu řetězec. Naše metodologie zahrnuje zjednodušenou formalizaci sémantiky modelů Simulinku, která je použita k definování chování nových bloků pro manipulaci s řetězci vytvořených pro Simulinkovou knihovnu BLADE. Tato formalizace také řídí jejich překlad do SMT omezení. Prototyp demonstrující tento přístup byl implementován v rámci nástroje pro generování testů SAMWISE, vyvinutého ve spolupráci mezi VUT a společností Honeywell. Prototyp překládá modely Simulinku s těmito řetězcovými bloky do interní reprezentace PySMT, což umožňuje SMT řešičům generovat testovací vektory na základě uživatelem definovaných požadavků. Experimentální vyhodnocení na srovnávacích modelech prokazuje funkčnost přístupu a úspěšně generuje validní testovací vektory, které byly ověřeny pomocí průmyslového testovacího prostředí.
Software verification of safety-critical systems, such as flight controls, demands rigorous processes, such as ensuring traceability from requirements to test vectors. We propose a way to harness the SMT solver Z3-Noodler for the automatic generation of test vectors based on requirements for Simulink models, which allows for effective handling of the string data type. Our methodology involves a simplified formalization of Simulink model semantics, which is used to define the behavior of new string-manipulating blocks created for the BLADE Simulink library. This formalization guides their translation into SMT constraints. A prototype demonstrating this approach has been implemented within the SAMWISE test generation tool and developed in collaboration between BUT and Honeywell. The prototype translates Simulink models with these string blocks into an internal PySMT representation, enabling SMT solvers to generate test vectors based on user-defined requirements. Experimental evaluation on benchmark models demonstrates the functionality of the approach, successfully generating valid test vectors that were verified using an industrial test harness.
Software verification of safety-critical systems, such as flight controls, demands rigorous processes, such as ensuring traceability from requirements to test vectors. We propose a way to harness the SMT solver Z3-Noodler for the automatic generation of test vectors based on requirements for Simulink models, which allows for effective handling of the string data type. Our methodology involves a simplified formalization of Simulink model semantics, which is used to define the behavior of new string-manipulating blocks created for the BLADE Simulink library. This formalization guides their translation into SMT constraints. A prototype demonstrating this approach has been implemented within the SAMWISE test generation tool and developed in collaboration between BUT and Honeywell. The prototype translates Simulink models with these string blocks into an internal PySMT representation, enabling SMT solvers to generate test vectors based on user-defined requirements. Experimental evaluation on benchmark models demonstrates the functionality of the approach, successfully generating valid test vectors that were verified using an industrial test harness.
Description
Citation
RÁČEK, J. String constraint solving pro automatickém generování testů pro simulinkové modely [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.
Document type
Document version
Date of access to the full text
Language of document
en
Study field
Informační technologie
Comittee
doc. Ing. František Zbořil, CSc. (předseda)
Ing. Aleš Smrčka, Ph.D. (člen)
Ing. Jan Pluskal, Ph.D. (člen)
doc. Ing. Michal Španěl, Ph.D. (člen)
Ing. Josef Strnadel, Ph.D. (člen)
Date of acceptance
2025-06-18
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.
Result of defence
práce byla úspěšně obhájena
