<div class="csl-bib-body">
<div class="csl-entry">Pani, T. (2021). <i>Thread-modular verification of parameterized programs</i> [Dissertation, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2022.100625</div>
</div>
-
dc.identifier.uri
https://doi.org/10.34726/hss.2022.100625
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/19731
-
dc.description.abstract
In today’s computing world, multi-threaded programs have become common-place. Their asynchronous execution style makes manual reasoning about their properties intricately hard, if not impossible. Thus, algorithmic tools to verify their proper operation are highly sought after.Often, it is necessary to verify multi-threaded programs not just for a fixed number of concurrent threads: Parameterized programs are composed of an arbitrary, unbounded number of concurrent, infinite-state threads to account for these settings. The challenge for fully-automated analyses is then to show or derive properties that hold for all possible numbers of threads of these programs. More formally, the verification problem becomes universally quantified over the unbounded number of concurrent threads. There exist a few state-of-the-art approaches to parameterized program analysis. These approaches rely on intricate abstractions and complicated proof techniques that impede automation, and thus hamper the adoption of parameterized program analysis in practice. In this thesis, we introduce novel abstraction techniques as an alternative to the existing, heavy proof machinery. Our abstractions leverage thread-modular reasoning to reduce parameterized program analysis to the analysis of sequential programs. Thread-modular reasoning has previously been used to lessen the verification burden for fixed-size concurrent programs. In this thesis, we extend this idea to parameterized pro- grams. The result of our thread-modular abstractions is a sequential program; this abstract program can then be verified by existing powerful proof procedures for sequential programs. Our abstractions are designed such that results on the abstracted, sequential program translate back onto the original parameterized program for any number of concurrent threads. We thus facilitate the re-use of existing verification tools for sequential software and leverage them for our goal of parameterized program verification. Our investigation shows that standard state-of-the-art thread-modular reasoning is too weak to derive meaningful results on parameterized programs. We thus introduce two novel methods for instrumenting thread-modular abstractions with auxiliary counter variables that capture additional information about the state of the original parameterized program. This instrumentation is inspired by counter abstraction, a technique that has previously been successfully used for the analysis of finite-state protocols. In this thesis, we extend this idea to infinite-state software. In particular, in this thesis we introduce automated, push-button verification algorithms to prove both safety and liveness properties of parameterized programs. In addition, we present an automated bound analysis that performs automated complexity analysis of pa- rameterized programs, and apply it to derive and prove – to our knowledge for the first time – time complexity results of widely-used concurrent data structures.
en
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
software verification
en
dc.subject
model checking
en
dc.subject
parameterized programs
en
dc.subject
parameterized verification
en
dc.subject
lock-free data structures
en
dc.subject
thread-modular reasoning
en
dc.title
Thread-modular verification of parameterized programs
en
dc.type
Thesis
en
dc.type
Hochschulschrift
de
dc.rights.license
In Copyright
en
dc.rights.license
Urheberrechtsschutz
de
dc.identifier.doi
10.34726/hss.2022.100625
-
dc.contributor.affiliation
TU Wien, Österreich
-
dc.rights.holder
Thomas Pani
-
dc.publisher.place
Wien
-
tuw.version
vor
-
tuw.thesisinformation
Technische Universität Wien
-
tuw.publication.orgunit
E192 - Institut für Logic and Computation
-
dc.type.qualificationlevel
Doctoral
-
dc.identifier.libraryid
AC16465283
-
dc.description.numberOfPages
147
-
dc.thesistype
Dissertation
de
dc.thesistype
Dissertation
en
tuw.author.orcid
0000-0002-4434-0248
-
dc.rights.identifier
In Copyright
en
dc.rights.identifier
Urheberrechtsschutz
de
tuw.advisor.staffStatus
staff
-
tuw.advisor.orcid
0000-0003-1468-8398
-
item.mimetype
application/pdf
-
item.openairetype
doctoral thesis
-
item.openairecristype
http://purl.org/coar/resource_type/c_db06
-
item.openaccessfulltext
Open Access
-
item.grantfulltext
open
-
item.cerifentitytype
Publications
-
item.fulltext
with Fulltext
-
item.languageiso639-1
en
-
crisitem.author.dept
E192-04 - Forschungsbereich Formal Methods in Systems Engineering