---
_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: <i>European Symposium
    on Programming</i>. Vol 12075. Springer Nature; 2020:112-140. doi:<a href="https://doi.org/10.1007/978-3-030-44914-8_5">10.1007/978-3-030-44914-8_5</a>'
  apa: 'Chatterjee, K., Goharshady, A. K., Ibsen-Jensen, R., &#38; Pavlogiannis, A.
    (2020). Optimal and perfectly parallel algorithms for on-demand data-flow analysis.
    In <i>European Symposium on Programming</i> (Vol. 12075, pp. 112–140). Dublin,
    Ireland: Springer Nature. <a href="https://doi.org/10.1007/978-3-030-44914-8_5">https://doi.org/10.1007/978-3-030-44914-8_5</a>'
  chicago: Chatterjee, Krishnendu, Amir Kafshdar Goharshady, Rasmus Ibsen-Jensen,
    and Andreas Pavlogiannis. “Optimal and Perfectly Parallel Algorithms for On-Demand
    Data-Flow Analysis.” In <i>European Symposium on Programming</i>, 12075:112–40.
    Springer Nature, 2020. <a href="https://doi.org/10.1007/978-3-030-44914-8_5">https://doi.org/10.1007/978-3-030-44914-8_5</a>.
  ieee: K. Chatterjee, A. K. Goharshady, R. Ibsen-Jensen, and A. Pavlogiannis, “Optimal
    and perfectly parallel algorithms for on-demand data-flow analysis,” in <i>European
    Symposium on Programming</i>, 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.” <i>European Symposium on Programming</i>, vol.
    12075, Springer Nature, 2020, pp. 112–40, doi:<a href="https://doi.org/10.1007/978-3-030-44914-8_5">10.1007/978-3-030-44914-8_5</a>.
  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: 2025-06-02T08:53:42Z
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
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'
...
