---
_id: '821'
abstract:
- lang: eng
text: "This dissertation focuses on algorithmic aspects of program verification,
and presents modeling and complexity advances on several problems related to the\r\nstatic
analysis of programs, the stateless model checking of concurrent programs, and
the competitive analysis of real-time scheduling algorithms.\r\nOur contributions
can be broadly grouped into five categories.\r\n\r\nOur first contribution is
a set of new algorithms and data structures for the quantitative and data-flow
analysis of programs, based on the graph-theoretic notion of treewidth.\r\nIt
has been observed that the control-flow graphs of typical programs have special
structure, and are characterized as graphs of small treewidth.\r\nWe utilize this
structural property to provide faster algorithms for the quantitative and data-flow
analysis of recursive and concurrent programs.\r\nIn most cases we make an algebraic
treatment of the considered problem,\r\nwhere several interesting analyses, such
as the reachability, shortest path, and certain kind of data-flow analysis problems
follow as special cases. \r\nWe exploit the constant-treewidth property to obtain
algorithmic improvements for on-demand versions of the problems, \r\nand provide
data structures with various tradeoffs between the resources spent in the preprocessing
and querying phase.\r\nWe also improve on the algorithmic complexity of quantitative
problems outside the algebraic path framework,\r\nnamely of the minimum mean-payoff,
minimum ratio, and minimum initial credit for energy problems.\r\n\r\n\r\nOur
second contribution is a set of algorithms for Dyck reachability with applications
to data-dependence analysis and alias analysis.\r\nIn particular, we develop an
optimal algorithm for Dyck reachability on bidirected graphs, which are ubiquitous
in context-insensitive, field-sensitive points-to analysis.\r\nAdditionally, we
develop an efficient algorithm for context-sensitive data-dependence analysis
via Dyck reachability,\r\nwhere the task is to obtain analysis summaries of library
code in the presence of callbacks.\r\nOur algorithm preprocesses libraries in
almost linear time, after which the contribution of the library in the complexity
of the client analysis is (i)~linear in the number of call sites and (ii)~only
logarithmic in the size of the whole library, as opposed to linear in the size
of the whole library.\r\nFinally, we prove that Dyck reachability is Boolean Matrix
Multiplication-hard in general, and the hardness also holds for graphs of constant
treewidth.\r\nThis hardness result strongly indicates that there exist no combinatorial
algorithms for Dyck reachability with truly subcubic complexity.\r\n\r\n\r\nOur
third contribution is the formalization and algorithmic treatment of the Quantitative
Interprocedural Analysis framework.\r\nIn this framework, the transitions of a
recursive program are annotated as good, bad or neutral, and receive a weight
which measures\r\nthe magnitude of their respective effect.\r\nThe Quantitative
Interprocedural Analysis problem asks to determine whether there exists an infinite
run of the program where the long-run ratio of the bad weights over the good weights
is above a given threshold.\r\nWe illustrate how several quantitative problems
related to static analysis of recursive programs can be instantiated in this framework,\r\nand
present some case studies to this direction.\r\n\r\n\r\nOur fourth contribution
is a new dynamic partial-order reduction for the stateless model checking of concurrent
programs. Traditional approaches rely on the standard Mazurkiewicz equivalence
between traces, by means of partitioning the trace space into equivalence classes,
and attempting to explore a few representatives from each class.\r\nWe present
a new dynamic partial-order reduction method called the Data-centric Partial
Order Reduction (DC-DPOR).\r\nOur algorithm is based on a new equivalence between
traces, called the observation equivalence.\r\nDC-DPOR explores a coarser partitioning
of the trace space than any exploration method based on the standard Mazurkiewicz
equivalence.\r\nDepending on the program, the new partitioning can be even exponentially
coarser.\r\nAdditionally, DC-DPOR spends only polynomial time in each explored
class.\r\n\r\n\r\nOur fifth contribution is the use of automata and game-theoretic
verification techniques in the competitive analysis and synthesis of real-time
scheduling algorithms for firm-deadline tasks.\r\nOn the analysis side, we leverage
automata on infinite words to compute the competitive ratio of real-time schedulers
subject to various environmental constraints.\r\nOn the synthesis side, we introduce
a new instance of two-player mean-payoff partial-information games, and show\r\nhow
the synthesis of an optimal real-time scheduler can be reduced to computing winning
strategies in this new type of games."
accept: '1'
acknowledgement: "First, I am thankful to my advisor, Krishnendu Chatterjee, for offering
me the opportunity to\r\nmaterialize my scientific curiosity in a remarkably wide
range of interesting topics, as well as for his constant availability and continuous
support throughout my doctoral studies. I have had the privilege of collaborating
with, discussing and getting inspired by all members of my committee: Thomas A.
Henzinger, Ulrich Schmid and Martin A. Nowak. The role of the above four people
has been very instrumental both to the research carried out for this dissertation,
and to the researcher I evolved to in the process.\r\nI have greatly enjoyed my
numerous brainstorming sessions with Rasmus Ibsen-Jensen, many\r\nof which led to
results on low-treewidth graphs presented here. I thank Alex Kößler for our\r\ndiscussions
on modeling and analyzing real-time scheduling algorithms, Yaron Velner for our\r\ncollaboration
on the Quantitative Interprocedural Analysis framework, and Nishant Sinha for our
initial discussions on partial order reduction techniques in stateless model checking.
I also thank Jan Otop, Ben Adlam, Bernhard Kragl and Josef Tkadlec for our fruitful
collaborations on\r\ntopics outside the scope of this dissertation, as well as the
interns Prateesh Goyal, Amir Kafshdar Goharshady, Samarth Mishra, Bhavya Choudhary
and Marek Chalupa, with whom I have shared my excitement on various research topics.
Together with my collaborators, I thank officemates and members of the Chatterjee
and Henzinger groups throughout the years, Thorsten Tarrach, Ventsi Chonev, Roopsha
Samanta, Przemek Daca, Mirco Giacobbe, Tanja Petrov, Ashutosh\r\nGupta, Arjun Radhakrishna,
\ Petr Novontý, Christian Hilbe, Jakob Ruess, Martin Chmelik,\r\nCezara Dragoi,
Johannes Reiter, Andrey Kupriyanov, Guy Avni, Sasha Rubin, Jessica Davies, Hongfei
Fu, Thomas Ferrère, Pavol Cerný, Ali Sezgin, Jan Kretínský, Sergiy Bogomolov, Hui\r\nKong,
Benjamin Aminof, Duc-Hiep Chu, and Damien Zufferey. Besides collaborations and
office spaces, with many of the above people I have been fortunate to share numerous
whiteboard\r\ndiscussions, as well as memorable long walks and amicable meals accompanied
by stimulating\r\nconversations. I am highly indebted to Elisabeth Hacker for her
continuous assistance in matters\r\nthat often exceeded her official duties, and
who made my integration in Austria a smooth process."
alternative_title:
- IST Austria Thesis
article_processing_charge: No
author:
- first_name: Andreas
full_name: Pavlogiannis, Andreas
id: 49704004-F248-11E8-B48F-1D18A9856A87
last_name: Pavlogiannis
cc_license: cc_by_nd
citation:
ama: Pavlogiannis A. *Algorithmic Advances in Program Analysis and Their Applications*.
IST Austria; 2017. doi:10.15479/AT:ISTA:th_854
apa: Pavlogiannis, A. (2017). *Algorithmic advances in program analysis and their
applications*. IST Austria. https://doi.org/10.15479/AT:ISTA:th_854
chicago: Pavlogiannis, Andreas. *Algorithmic Advances in Program Analysis and
Their Applications*. IST Austria, 2017. https://doi.org/10.15479/AT:ISTA:th_854.
ieee: A. Pavlogiannis, *Algorithmic advances in program analysis and their applications*.
IST Austria, 2017.
ista: Pavlogiannis A. 2017. Algorithmic advances in program analysis and their applications,
IST Austria, 418p.
mla: Pavlogiannis, Andreas. *Algorithmic Advances in Program Analysis and Their
Applications*. IST Austria, 2017, doi:10.15479/AT:ISTA:th_854.
short: A. Pavlogiannis, Algorithmic Advances in Program Analysis and Their Applications,
IST Austria, 2017.
date_created: 2018-12-11T11:48:41Z
date_published: 2017-08-09T00:00:00Z
date_updated: 2019-08-13T06:41:56Z
day: '09'
ddc:
- '000'
department:
- _id: KrCh
doi: 10.15479/AT:ISTA:th_854
file:
- access_level: open_access
content_type: application/pdf
creator: system
date_created: 2018-12-12T10:11:44Z
date_updated: 2019-02-08T11:12:30Z
file_id: '4900'
file_name: IST-2017-854-v1+1_Pavlogiannis_Thesis_PubRep.pdf
file_size: 4103115
open_access: 1
relation: main_file
request_a_copy: 0
- access_level: closed
content_type: application/zip
creator: dernst
date_created: 2019-04-05T07:59:31Z
date_updated: 2019-08-13T06:39:34Z
file_id: '6201'
file_name: 2017_thesis_Pavlogiannis.zip
file_size: 14744374
open_access: 0
relation: source_file
request_a_copy: 0
file_date_updated: 2019-08-13T06:39:34Z
language:
- iso: eng
month: '08'
oa: 1
oa_version: Published Version
page: '418'
project:
- _id: 2584A770-B435-11E9-9278-68D0E5697425
grant_number: P 23499-N23
name: Modern Graph Algorithmic Techniques in Formal Verification
- _id: 25832EC2-B435-11E9-9278-68D0E5697425
grant_number: S 11407_N23
name: Rigorous Systems Engineering
- _id: 2581B60A-B435-11E9-9278-68D0E5697425
grant_number: '279307'
name: 'Quantitative Graph Games: Theory and Applications'
publication_status: published
publisher: IST Austria
publist_id: '6828'
pubrep_id: '854'
related_material:
record:
- id: '1602'
relation: part_of_dissertation
status: public
- id: '1071'
relation: part_of_dissertation
status: public
- id: '1604'
relation: part_of_dissertation
status: public
- id: '1607'
relation: part_of_dissertation
status: public
- id: '1714'
relation: part_of_dissertation
status: public
- id: '1437'
relation: part_of_dissertation
status: public
status: public
supervisor:
- first_name: Krishnendu
full_name: Chatterjee, Krishnendu
id: 2E5DCA20-F248-11E8-B48F-1D18A9856A87
last_name: Chatterjee
orcid: 0000-0002-4561-241X
title: Algorithmic advances in program analysis and their applications
type: dissertation
user_id: 2DF688A6-F248-11E8-B48F-1D18A9856A87
year: '2017'
...