On the Application of Formal Techniques for Dependable Concurrent Systems

The pervasiveness of computer systems in virtually every aspect of daily life entails a growing dependence on them. These systems have become integral parts of our societies as we continue to use and rely on them on a daily basis. This trend of digitalization is set to carry on, bringing forth the q...

Full description

Bibliographic Details
Main Author: Saissi, Habib
Format: Others
Language:en
Published: 2019
Online Access:http://tuprints.ulb.tu-darmstadt.de/8600/1/dishs.pdf
Saissi, Habib <http://tuprints.ulb.tu-darmstadt.de/view/person/Saissi=3AHabib=3A=3A.html> : On the Application of Formal Techniques for Dependable Concurrent Systems. Technische Universität, Darmstadt [Ph.D. Thesis], (2019)
id ndltd-tu-darmstadt.de-oai-tuprints.ulb.tu-darmstadt.de-8600
record_format oai_dc
spelling ndltd-tu-darmstadt.de-oai-tuprints.ulb.tu-darmstadt.de-86002019-05-22T03:33:01Z http://tuprints.ulb.tu-darmstadt.de/8600/ On the Application of Formal Techniques for Dependable Concurrent Systems Saissi, Habib The pervasiveness of computer systems in virtually every aspect of daily life entails a growing dependence on them. These systems have become integral parts of our societies as we continue to use and rely on them on a daily basis. This trend of digitalization is set to carry on, bringing forth the question of how dependable these systems are. Our dependence on these systems is in acute need for a justification based on rigorous and systematic methods as recommended by internationally recognized safety standards. Ensuring that the systems we depend on meet these recommendations is further complicated by the increasingly widespread use of concurrent systems, which are notoriously hard to analyze due to the substantial increase in complexity that the interactions between different processing entities engenders. In this thesis, we introduce improvements on existing formal analysis techniques to aid in the development of dependable concurrent systems. Applying formal analysis techniques can help us avoid incidents with catastrophic consequences by uncovering their triggering causes well in advance. This work focuses on three types of analyses: data-flow analysis, model checking and error propagation analysis. Data-flow analysis is a general static analysis technique aimed at predicting the values that variables can take at various points in a program. Model checking is a well-established formal analysis technique that verifies whether a program satisfies its specification. Error propagation analysis (EPA) is a dynamic analysis whose purpose is to assess a program's ability to withstand unexpected behaviors of external components. We leverage data-flow analysis to assist in the design of highly available distributed applications. Given an application, our analysis infers rules to distribute its workload across multiple machines, improving the availability of the overall system. Furthermore, we propose improvements to both explicit and bounded model checking techniques by exploiting the structure of the specification under consideration. The core idea behind these improvements lies in the ability to abstract away aspects of the program that are not relevant to the specification, effectively shortening the verification time. Finally, we present a novel approach to EPA based on symbolic modeling of execution traces. The symbolic scheme uses a dynamic sanitizing algorithm to eliminate effects of non-determinism in the execution traces of multi-threaded programs.The proposed approach is the first to achieve a 0% rate of false positives for multi-threaded programs. The work in this thesis constitutes an improvement over existing formal analysis techniques that can aid in the development of dependable concurrent systems, particularly with respect to availability and safety. 2019 Ph.D. Thesis NonPeerReviewed text CC-BY-SA 4.0 International - Creative Commons, Attribution Share-alike http://tuprints.ulb.tu-darmstadt.de/8600/1/dishs.pdf Saissi, Habib <http://tuprints.ulb.tu-darmstadt.de/view/person/Saissi=3AHabib=3A=3A.html> : On the Application of Formal Techniques for Dependable Concurrent Systems. Technische Universität, Darmstadt [Ph.D. Thesis], (2019) en info:eu-repo/semantics/doctoralThesis info:eu-repo/semantics/openAccess
collection NDLTD
language en
format Others
sources NDLTD
description The pervasiveness of computer systems in virtually every aspect of daily life entails a growing dependence on them. These systems have become integral parts of our societies as we continue to use and rely on them on a daily basis. This trend of digitalization is set to carry on, bringing forth the question of how dependable these systems are. Our dependence on these systems is in acute need for a justification based on rigorous and systematic methods as recommended by internationally recognized safety standards. Ensuring that the systems we depend on meet these recommendations is further complicated by the increasingly widespread use of concurrent systems, which are notoriously hard to analyze due to the substantial increase in complexity that the interactions between different processing entities engenders. In this thesis, we introduce improvements on existing formal analysis techniques to aid in the development of dependable concurrent systems. Applying formal analysis techniques can help us avoid incidents with catastrophic consequences by uncovering their triggering causes well in advance. This work focuses on three types of analyses: data-flow analysis, model checking and error propagation analysis. Data-flow analysis is a general static analysis technique aimed at predicting the values that variables can take at various points in a program. Model checking is a well-established formal analysis technique that verifies whether a program satisfies its specification. Error propagation analysis (EPA) is a dynamic analysis whose purpose is to assess a program's ability to withstand unexpected behaviors of external components. We leverage data-flow analysis to assist in the design of highly available distributed applications. Given an application, our analysis infers rules to distribute its workload across multiple machines, improving the availability of the overall system. Furthermore, we propose improvements to both explicit and bounded model checking techniques by exploiting the structure of the specification under consideration. The core idea behind these improvements lies in the ability to abstract away aspects of the program that are not relevant to the specification, effectively shortening the verification time. Finally, we present a novel approach to EPA based on symbolic modeling of execution traces. The symbolic scheme uses a dynamic sanitizing algorithm to eliminate effects of non-determinism in the execution traces of multi-threaded programs.The proposed approach is the first to achieve a 0% rate of false positives for multi-threaded programs. The work in this thesis constitutes an improvement over existing formal analysis techniques that can aid in the development of dependable concurrent systems, particularly with respect to availability and safety.
author Saissi, Habib
spellingShingle Saissi, Habib
On the Application of Formal Techniques for Dependable Concurrent Systems
author_facet Saissi, Habib
author_sort Saissi, Habib
title On the Application of Formal Techniques for Dependable Concurrent Systems
title_short On the Application of Formal Techniques for Dependable Concurrent Systems
title_full On the Application of Formal Techniques for Dependable Concurrent Systems
title_fullStr On the Application of Formal Techniques for Dependable Concurrent Systems
title_full_unstemmed On the Application of Formal Techniques for Dependable Concurrent Systems
title_sort on the application of formal techniques for dependable concurrent systems
publishDate 2019
url http://tuprints.ulb.tu-darmstadt.de/8600/1/dishs.pdf
Saissi, Habib <http://tuprints.ulb.tu-darmstadt.de/view/person/Saissi=3AHabib=3A=3A.html> : On the Application of Formal Techniques for Dependable Concurrent Systems. Technische Universität, Darmstadt [Ph.D. Thesis], (2019)
work_keys_str_mv AT saissihabib ontheapplicationofformaltechniquesfordependableconcurrentsystems
_version_ 1719192087024369664