---
_id: '7810'
abstract:
- lang: eng
text: "Interprocedural data-flow analyses form an expressive and useful paradigm
of numerous static analysis applications, such as live variables analysis, alias
analysis and null pointers analysis. The most widely-used framework for interprocedural
data-flow analysis is IFDS, which encompasses distributive data-flow functions
over a finite domain. On-demand data-flow analyses restrict the focus of the analysis
on specific program locations and data facts. This setting provides a natural
split between (i) an offline (or preprocessing) phase, where the program is partially
analyzed and analysis summaries are created, and (ii) an online (or query) phase,
where analysis queries arrive on demand and the summaries are used to speed up
answering queries.\r\nIn this work, we consider on-demand IFDS analyses where
the queries concern program locations of the same procedure (aka same-context
queries). We exploit the fact that flow graphs of programs have low treewidth
to develop faster algorithms that are space and time optimal for many common data-flow
analyses, in both the preprocessing and the query phase. We also use treewidth
to develop query solutions that are embarrassingly parallelizable, i.e. the total
work for answering each query is split to a number of threads such that each thread
performs only a constant amount of work. Finally, we implement a static analyzer
based on our algorithms, and perform a series of on-demand analysis experiments
on standard benchmarks. Our experimental results show a drastic speed-up of the
queries after only a lightweight preprocessing phase, which significantly outperforms
existing techniques."
alternative_title:
- LNCS
article_processing_charge: No
author:
- first_name: Krishnendu
full_name: Chatterjee, Krishnendu
id: 2E5DCA20-F248-11E8-B48F-1D18A9856A87
last_name: Chatterjee
orcid: 0000-0002-4561-241X
- first_name: Amir Kafshdar
full_name: Goharshady, Amir Kafshdar
id: 391365CE-F248-11E8-B48F-1D18A9856A87
last_name: Goharshady
orcid: 0000-0003-1702-6584
- first_name: Rasmus
full_name: Ibsen-Jensen, Rasmus
id: 3B699956-F248-11E8-B48F-1D18A9856A87
last_name: Ibsen-Jensen
orcid: 0000-0003-4783-0389
- first_name: Andreas
full_name: Pavlogiannis, Andreas
id: 49704004-F248-11E8-B48F-1D18A9856A87
last_name: Pavlogiannis
orcid: 0000-0002-8943-0722
citation:
ama: 'Chatterjee K, Goharshady AK, Ibsen-Jensen R, Pavlogiannis A. Optimal and perfectly
parallel algorithms for on-demand data-flow analysis. In: European Symposium
on Programming. Vol 12075. Springer Nature; 2020:112-140. doi:10.1007/978-3-030-44914-8_5'
apa: 'Chatterjee, K., Goharshady, A. K., Ibsen-Jensen, R., & Pavlogiannis, A.
(2020). Optimal and perfectly parallel algorithms for on-demand data-flow analysis.
In European Symposium on Programming (Vol. 12075, pp. 112–140). Dublin,
Ireland: Springer Nature. https://doi.org/10.1007/978-3-030-44914-8_5'
chicago: Chatterjee, Krishnendu, Amir Kafshdar Goharshady, Rasmus Ibsen-Jensen,
and Andreas Pavlogiannis. “Optimal and Perfectly Parallel Algorithms for On-Demand
Data-Flow Analysis.” In European Symposium on Programming, 12075:112–40.
Springer Nature, 2020. https://doi.org/10.1007/978-3-030-44914-8_5.
ieee: K. Chatterjee, A. K. Goharshady, R. Ibsen-Jensen, and A. Pavlogiannis, “Optimal
and perfectly parallel algorithms for on-demand data-flow analysis,” in European
Symposium on Programming, Dublin, Ireland, 2020, vol. 12075, pp. 112–140.
ista: 'Chatterjee K, Goharshady AK, Ibsen-Jensen R, Pavlogiannis A. 2020. Optimal
and perfectly parallel algorithms for on-demand data-flow analysis. European Symposium
on Programming. ESOP: Programming Languages and Systems, LNCS, vol. 12075, 112–140.'
mla: Chatterjee, Krishnendu, et al. “Optimal and Perfectly Parallel Algorithms for
On-Demand Data-Flow Analysis.” European Symposium on Programming, vol.
12075, Springer Nature, 2020, pp. 112–40, doi:10.1007/978-3-030-44914-8_5.
short: K. Chatterjee, A.K. Goharshady, R. Ibsen-Jensen, A. Pavlogiannis, in:, European
Symposium on Programming, Springer Nature, 2020, pp. 112–140.
conference:
end_date: 2020-04-30
location: Dublin, Ireland
name: 'ESOP: Programming Languages and Systems'
start_date: 2020-04-25
date_created: 2020-05-10T22:00:50Z
date_published: 2020-04-18T00:00:00Z
date_updated: 2024-03-27T23:30:33Z
day: '18'
ddc:
- '000'
department:
- _id: KrCh
doi: 10.1007/978-3-030-44914-8_5
external_id:
isi:
- '000681656800005'
file:
- access_level: open_access
checksum: 8618b80f4cf7b39a60e61a6445ad9807
content_type: application/pdf
creator: dernst
date_created: 2020-05-26T13:34:48Z
date_updated: 2020-07-14T12:48:03Z
file_id: '7895'
file_name: 2020_LNCS_Chatterjee.pdf
file_size: 651250
relation: main_file
file_date_updated: 2020-07-14T12:48:03Z
has_accepted_license: '1'
intvolume: ' 12075'
isi: 1
language:
- iso: eng
license: https://creativecommons.org/licenses/by/4.0/
month: '04'
oa: 1
oa_version: Published Version
page: 112-140
project:
- _id: 25832EC2-B435-11E9-9278-68D0E5697425
call_identifier: FWF
grant_number: S 11407_N23
name: Rigorous Systems Engineering
- _id: 25892FC0-B435-11E9-9278-68D0E5697425
grant_number: ICT15-003
name: Efficient Algorithms for Computer Aided Verification
- _id: 266EEEC0-B435-11E9-9278-68D0E5697425
name: Quantitative Game-theoretic Analysis of Blockchain Applications and Smart
Contracts
- _id: 267066CE-B435-11E9-9278-68D0E5697425
name: Quantitative Analysis of Probablistic Systems with a focus on Crypto-currencies
publication: European Symposium on Programming
publication_identifier:
eissn:
- '16113349'
isbn:
- '9783030449131'
issn:
- '03029743'
publication_status: published
publisher: Springer Nature
quality_controlled: '1'
related_material:
record:
- id: '8934'
relation: dissertation_contains
status: public
scopus_import: '1'
status: public
title: Optimal and perfectly parallel algorithms for on-demand data-flow analysis
tmp:
image: /images/cc_by.png
legal_code_url: https://creativecommons.org/licenses/by/4.0/legalcode
name: Creative Commons Attribution 4.0 International Public License (CC-BY 4.0)
short: CC BY (4.0)
type: conference
user_id: 4359f0d1-fa6c-11eb-b949-802e58b17ae8
volume: 12075
year: '2020'
...