The Use of Symbolic Execution for Testing of Real-Time Safety-Related Software
Využití symbolické exekuce pro testování real-time, bezpečnostně kritického softwaru
Authors
Supervisors
Reviewers
Editors
Other contributors
Journal Title
Journal ISSN
Volume Title
Publisher
České vysoké učení technické v Praze
Czech Technical University in Prague
Czech Technical University in Prague
Date
Abstract
Tato práce zkoumá vhodnost nástroje symbolické exekuce KLEE pro
verifikaci real-time bezpečnostně kritických systémů. Real-time bezpečnostně
kritické systémy jsou ty, u kterých selhání může vést ke ztrátě lidských životů
anebo ke škodám na životním prostředí.
V této práci modifikuji dva real-time bezpečnostně kritické systémy, abych je
mohl otestovat s KLEE a posoudit, jak komplikovaná jejich modifikace byla a zda
má smysl začít používat KLEE k verifikaci real-time bezpečnostně kritických
systémů. Došel jsem k závěru, že KLEE může být cenný nástroj pro verifikaci
real-time bezpečnostně kritických systémů, ale daný systém musí být navržen
s ohledem na KLEE.
This thesis investigates fitness of symbolic execution tool KLEE for verification of real-time safety-critical systems. Real-time safety-critical systems are those systems, whose malfunction might result in loss of life and/or environmental damage. In this thesis I modify two pieces of real-time safety-critical software to test them with KLEE and to evaluate how complex the modification was and whether using KLEE for verification of real-time safety-critical systems is viable going forward. I conclude that KLEE can be a valuable tool for verifying real-time safety-critical software, but the software has to be designed with KLEE in mind.
This thesis investigates fitness of symbolic execution tool KLEE for verification of real-time safety-critical systems. Real-time safety-critical systems are those systems, whose malfunction might result in loss of life and/or environmental damage. In this thesis I modify two pieces of real-time safety-critical software to test them with KLEE and to evaluate how complex the modification was and whether using KLEE for verification of real-time safety-critical systems is viable going forward. I conclude that KLEE can be a valuable tool for verifying real-time safety-critical software, but the software has to be designed with KLEE in mind.