--- _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' ...