---
_id: '1992'
abstract:
- lang: eng
  text: "We present a method and a tool for generating succinct representations of
    sets of concurrent traces. We focus on trace sets that contain all correct or
    all incorrect permutations of events from a given trace. We represent trace sets
    as HB-Formulas that are Boolean combinations of happens-before constraints between
    events. To generate a representation of incorrect interleavings, our method iteratively
    explores interleavings that violate the specification and gathers generalizations
    of the discovered interleavings into an HB-Formula; its complement yields a representation
    of correct interleavings.\r\n\r\nWe claim that our trace set representations can
    drive diverse verification, fault localization, repair, and synthesis techniques
    for concurrent programs. We demonstrate this by using our tool in three case studies
    involving synchronization synthesis, bug summarization, and abstraction refinement
    based verification. In each case study, our initial experimental results have
    been promising.\r\n\r\nIn the first case study, we present an algorithm for inferring
    missing synchronization from an HB-Formula representing correct interleavings
    of a given trace. The algorithm applies rules to rewrite specific patterns in
    the HB-Formula into locks, barriers, and wait-notify constructs. In the second
    case study, we use an HB-Formula representing incorrect interleavings for bug
    summarization. While the HB-Formula itself is a concise counterexample summary,
    we present additional inference rules to help identify specific concurrency bugs
    such as data races, define-use order violations, and two-stage access bugs. In
    the final case study, we present a novel predicate learning procedure that uses
    HB-Formulas representing abstract counterexamples to accelerate counterexample-guided
    abstraction refinement (CEGAR). In each iteration of the CEGAR loop, the procedure
    refines the abstraction to eliminate multiple spurious abstract counterexamples
    drawn from the HB-Formula."
author:
- first_name: Ashutosh
  full_name: Gupta, Ashutosh
  id: 335E5684-F248-11E8-B48F-1D18A9856A87
  last_name: Gupta
- first_name: Thomas A
  full_name: Henzinger, Thomas A
  id: 40876CD8-F248-11E8-B48F-1D18A9856A87
  last_name: Henzinger
  orcid: 0000−0002−2985−7724
- first_name: Arjun
  full_name: Radhakrishna, Arjun
  id: 3B51CAC4-F248-11E8-B48F-1D18A9856A87
  last_name: Radhakrishna
- first_name: Roopsha
  full_name: Samanta, Roopsha
  id: 3D2AAC08-F248-11E8-B48F-1D18A9856A87
  last_name: Samanta
- first_name: Thorsten
  full_name: Tarrach, Thorsten
  id: 3D6E8F2C-F248-11E8-B48F-1D18A9856A87
  last_name: Tarrach
  orcid: 0000-0003-4409-8487
citation:
  ama: 'Gupta A, Henzinger TA, Radhakrishna A, Samanta R, Tarrach T. Succinct representation
    of concurrent trace sets. In: ACM; 2015:433-444. doi:<a href="https://doi.org/10.1145/2676726.2677008">10.1145/2676726.2677008</a>'
  apa: 'Gupta, A., Henzinger, T. A., Radhakrishna, A., Samanta, R., &#38; Tarrach,
    T. (2015). Succinct representation of concurrent trace sets (pp. 433–444). Presented
    at the POPL: Principles of Programming Languages, Mumbai, India: ACM. <a href="https://doi.org/10.1145/2676726.2677008">https://doi.org/10.1145/2676726.2677008</a>'
  chicago: Gupta, Ashutosh, Thomas A Henzinger, Arjun Radhakrishna, Roopsha Samanta,
    and Thorsten Tarrach. “Succinct Representation of Concurrent Trace Sets,” 433–44.
    ACM, 2015. <a href="https://doi.org/10.1145/2676726.2677008">https://doi.org/10.1145/2676726.2677008</a>.
  ieee: 'A. Gupta, T. A. Henzinger, A. Radhakrishna, R. Samanta, and T. Tarrach, “Succinct
    representation of concurrent trace sets,” presented at the POPL: Principles of
    Programming Languages, Mumbai, India, 2015, pp. 433–444.'
  ista: 'Gupta A, Henzinger TA, Radhakrishna A, Samanta R, Tarrach T. 2015. Succinct
    representation of concurrent trace sets. POPL: Principles of Programming Languages,
    433–444.'
  mla: Gupta, Ashutosh, et al. <i>Succinct Representation of Concurrent Trace Sets</i>.
    ACM, 2015, pp. 433–44, doi:<a href="https://doi.org/10.1145/2676726.2677008">10.1145/2676726.2677008</a>.
  short: A. Gupta, T.A. Henzinger, A. Radhakrishna, R. Samanta, T. Tarrach, in:, ACM,
    2015, pp. 433–444.
conference:
  end_date: 2015-01-17
  location: Mumbai, India
  name: 'POPL: Principles of Programming Languages'
  start_date: 2015-01-15
date_created: 2018-12-11T11:55:05Z
date_published: 2015-01-15T00:00:00Z
date_updated: 2021-01-12T06:54:33Z
day: '15'
ddc:
- '005'
department:
- _id: ToHe
doi: 10.1145/2676726.2677008
file:
- access_level: open_access
  checksum: f0d4395b600f410a191256ac0b73af32
  content_type: application/pdf
  creator: system
  date_created: 2018-12-12T10:17:56Z
  date_updated: 2020-07-14T12:45:22Z
  file_id: '5314'
  file_name: IST-2015-317-v1+1_author_version.pdf
  file_size: 399462
  relation: main_file
file_date_updated: 2020-07-14T12:45:22Z
has_accepted_license: '1'
language:
- iso: eng
month: '01'
oa: 1
oa_version: Submitted Version
page: 433 - 444
publication_identifier:
  isbn:
  - 978-1-4503-3300-9
publication_status: published
publisher: ACM
publist_id: '5091'
pubrep_id: '317'
quality_controlled: '1'
scopus_import: 1
status: public
title: Succinct representation of concurrent trace sets
type: conference
user_id: 2DF688A6-F248-11E8-B48F-1D18A9856A87
year: '2015'
...
---
_id: '1604'
abstract:
- lang: eng
  text: We consider the quantitative analysis problem for interprocedural control-flow
    graphs (ICFGs). The input consists of an ICFG, a positive weight function that
    assigns every transition a positive integer-valued number, and a labelling of
    the transitions (events) as good, bad, and neutral events. The weight function
    assigns to each transition a numerical value that represents ameasure of how good
    or bad an event is. The quantitative analysis problem asks whether there is a
    run of the ICFG where the ratio of the sum of the numerical weights of good events
    versus the sum of weights of bad events in the long-run is at least a given threshold
    (or equivalently, to compute the maximal ratio among all valid paths in the ICFG).
    The quantitative analysis problem for ICFGs can be solved in polynomial time,
    and we present an efficient and practical algorithm for the problem. We show that
    several problems relevant for static program analysis, such as estimating the
    worst-case execution time of a program or the average energy consumption of a
    mobile application, can be modeled in our framework. We have implemented our algorithm
    as a tool in the Java Soot framework. We demonstrate the effectiveness of our
    approach with two case studies. First, we show that our framework provides a sound
    approach (no false positives) for the analysis of inefficiently-used containers.
    Second, we show that our approach can also be used for static profiling of programs
    which reasons about methods that are frequently invoked. Our experimental results
    show that our tool scales to relatively large benchmarks, and discovers relevant
    and useful information that can be used to optimize performance of the programs.
author:
- first_name: Krishnendu
  full_name: Chatterjee, Krishnendu
  id: 2E5DCA20-F248-11E8-B48F-1D18A9856A87
  last_name: Chatterjee
  orcid: 0000-0002-4561-241X
- first_name: Andreas
  full_name: Pavlogiannis, Andreas
  id: 49704004-F248-11E8-B48F-1D18A9856A87
  last_name: Pavlogiannis
  orcid: 0000-0002-8943-0722
- first_name: Yaron
  full_name: Velner, Yaron
  last_name: Velner
citation:
  ama: Chatterjee K, Pavlogiannis A, Velner Y. Quantitative interprocedural analysis.
    <i>Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT </i>. 2015;50(1):539-551.
    doi:<a href="https://doi.org/10.1145/2676726.2676968">10.1145/2676726.2676968</a>
  apa: 'Chatterjee, K., Pavlogiannis, A., &#38; Velner, Y. (2015). Quantitative interprocedural
    analysis. <i>Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT </i>. Mumbai, India:
    ACM. <a href="https://doi.org/10.1145/2676726.2676968">https://doi.org/10.1145/2676726.2676968</a>'
  chicago: Chatterjee, Krishnendu, Andreas Pavlogiannis, and Yaron Velner. “Quantitative
    Interprocedural Analysis.” <i>Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT
    </i>. ACM, 2015. <a href="https://doi.org/10.1145/2676726.2676968">https://doi.org/10.1145/2676726.2676968</a>.
  ieee: K. Chatterjee, A. Pavlogiannis, and Y. Velner, “Quantitative interprocedural
    analysis,” <i>Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT </i>, vol. 50,
    no. 1. ACM, pp. 539–551, 2015.
  ista: Chatterjee K, Pavlogiannis A, Velner Y. 2015. Quantitative interprocedural
    analysis. Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT . 50(1), 539–551.
  mla: Chatterjee, Krishnendu, et al. “Quantitative Interprocedural Analysis.” <i>Proceedings
    of the 42nd Annual ACM SIGPLAN-SIGACT </i>, vol. 50, no. 1, ACM, 2015, pp. 539–51,
    doi:<a href="https://doi.org/10.1145/2676726.2676968">10.1145/2676726.2676968</a>.
  short: K. Chatterjee, A. Pavlogiannis, Y. Velner, Proceedings of the 42nd Annual
    ACM SIGPLAN-SIGACT  50 (2015) 539–551.
conference:
  end_date: 2015-01-17
  location: Mumbai, India
  name: 'SIGPLAN: Symposium on Principles of Programming Languages'
  start_date: 2015-01-15
date_created: 2018-12-11T11:52:59Z
date_published: 2015-01-01T00:00:00Z
date_updated: 2023-09-07T12:01:59Z
day: '01'
department:
- _id: KrCh
doi: 10.1145/2676726.2676968
ec_funded: 1
intvolume: '        50'
issue: '1'
language:
- iso: eng
month: '01'
oa_version: None
page: 539 - 551
project:
- _id: 25832EC2-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: S 11407_N23
  name: Rigorous Systems Engineering
- _id: 2584A770-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: P 23499-N23
  name: Modern Graph Algorithmic Techniques in Formal Verification
- _id: 2581B60A-B435-11E9-9278-68D0E5697425
  call_identifier: FP7
  grant_number: '279307'
  name: 'Quantitative Graph Games: Theory and Applications'
- _id: 2587B514-B435-11E9-9278-68D0E5697425
  name: Microsoft Research Faculty Fellowship
publication: 'Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT '
publication_identifier:
  isbn:
  - 978-1-4503-3300-9
publication_status: published
publisher: ACM
publist_id: '5563'
pubrep_id: '523'
quality_controlled: '1'
related_material:
  record:
  - id: '5445'
    relation: earlier_version
    status: public
  - id: '821'
    relation: dissertation_contains
    status: public
scopus_import: 1
status: public
title: Quantitative interprocedural analysis
type: journal_article
user_id: 2DF688A6-F248-11E8-B48F-1D18A9856A87
volume: 50
year: '2015'
...
