---
_id: '1338'
abstract:
- lang: eng
  text: We present a computer-aided programming approach to concurrency. The approach
    allows programmers to program assuming a friendly, non-preemptive scheduler, and
    our synthesis procedure inserts synchronization to ensure that the final program
    works even with a preemptive scheduler. The correctness specification is implicit,
    inferred from the non-preemptive behavior. Let us consider sequences of calls
    that the program makes to an external interface. The specification requires that
    any such sequence produced under a preemptive scheduler should be included in
    the set of sequences produced under a non-preemptive scheduler. We guarantee that
    our synthesis does not introduce deadlocks and that the synchronization inserted
    is optimal w.r.t. a given objective function. The solution is based on a finitary
    abstraction, an algorithm for bounded language inclusion modulo an independence
    relation, and generation of a set of global constraints over synchronization placements.
    Each model of the global constraints set corresponds to a correctness-ensuring
    synchronization placement. The placement that is optimal w.r.t. the given objective
    function is chosen as the synchronization solution. We apply the approach to device-driver
    programming, where the driver threads call the software interface of the device
    and the API provided by the operating system. Our experiments demonstrate that
    our synthesis method is precise and efficient. The implicit specification helped
    us find one concurrency bug previously missed when model-checking using an explicit,
    user-provided specification. We implemented objective functions for coarse-grained
    and fine-grained locking and observed that different synchronization placements
    are produced for our experiments, favoring a minimal number of synchronization
    operations or maximum concurrency, respectively.
article_processing_charge: No
author:
- first_name: Pavol
  full_name: Cerny, Pavol
  id: 4DCBEFFE-F248-11E8-B48F-1D18A9856A87
  last_name: Cerny
- first_name: Edmund
  full_name: Clarke, Edmund
  last_name: Clarke
- 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: Leonid
  full_name: Ryzhyk, Leonid
  last_name: Ryzhyk
- 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: Cerny P, Clarke E, Henzinger TA, et al. From non-preemptive to preemptive scheduling
    using synchronization synthesis. <i>Formal Methods in System Design</i>. 2017;50(2-3):97-139.
    doi:<a href="https://doi.org/10.1007/s10703-016-0256-5">10.1007/s10703-016-0256-5</a>
  apa: Cerny, P., Clarke, E., Henzinger, T. A., Radhakrishna, A., Ryzhyk, L., Samanta,
    R., &#38; Tarrach, T. (2017). From non-preemptive to preemptive scheduling using
    synchronization synthesis. <i>Formal Methods in System Design</i>. Springer. <a
    href="https://doi.org/10.1007/s10703-016-0256-5">https://doi.org/10.1007/s10703-016-0256-5</a>
  chicago: Cerny, Pavol, Edmund Clarke, Thomas A Henzinger, Arjun Radhakrishna, Leonid
    Ryzhyk, Roopsha Samanta, and Thorsten Tarrach. “From Non-Preemptive to Preemptive
    Scheduling Using Synchronization Synthesis.” <i>Formal Methods in System Design</i>.
    Springer, 2017. <a href="https://doi.org/10.1007/s10703-016-0256-5">https://doi.org/10.1007/s10703-016-0256-5</a>.
  ieee: P. Cerny <i>et al.</i>, “From non-preemptive to preemptive scheduling using
    synchronization synthesis,” <i>Formal Methods in System Design</i>, vol. 50, no.
    2–3. Springer, pp. 97–139, 2017.
  ista: Cerny P, Clarke E, Henzinger TA, Radhakrishna A, Ryzhyk L, Samanta R, Tarrach
    T. 2017. From non-preemptive to preemptive scheduling using synchronization synthesis.
    Formal Methods in System Design. 50(2–3), 97–139.
  mla: Cerny, Pavol, et al. “From Non-Preemptive to Preemptive Scheduling Using Synchronization
    Synthesis.” <i>Formal Methods in System Design</i>, vol. 50, no. 2–3, Springer,
    2017, pp. 97–139, doi:<a href="https://doi.org/10.1007/s10703-016-0256-5">10.1007/s10703-016-0256-5</a>.
  short: P. Cerny, E. Clarke, T.A. Henzinger, A. Radhakrishna, L. Ryzhyk, R. Samanta,
    T. Tarrach, Formal Methods in System Design 50 (2017) 97–139.
corr_author: '1'
date_created: 2018-12-11T11:51:27Z
date_published: 2017-06-01T00:00:00Z
date_updated: 2025-09-23T08:54:01Z
day: '01'
ddc:
- '000'
department:
- _id: ToHe
doi: 10.1007/s10703-016-0256-5
ec_funded: 1
external_id:
  isi:
  - '000399888900001'
  pmid:
  - '28490835'
file:
- access_level: open_access
  checksum: 1163dfd997e8212c789525d4178b1653
  content_type: application/pdf
  creator: system
  date_created: 2018-12-12T10:13:05Z
  date_updated: 2020-07-14T12:44:44Z
  file_id: '4985'
  file_name: IST-2016-656-v1+1_s10703-016-0256-5.pdf
  file_size: 1416170
  relation: main_file
file_date_updated: 2020-07-14T12:44:44Z
has_accepted_license: '1'
intvolume: '        50'
isi: 1
issue: 2-3
language:
- iso: eng
month: '06'
oa: 1
oa_version: Published Version
page: 97 - 139
pmid: 1
project:
- _id: 25EE3708-B435-11E9-9278-68D0E5697425
  call_identifier: FP7
  grant_number: '267989'
  name: Quantitative Reactive Modeling
- _id: 25832EC2-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: S 11407_N23
  name: Rigorous Systems Engineering
- _id: 25F42A32-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: Z211
  name: Formal methods for the design and analysis of complex systems
- _id: B67AFEDC-15C9-11EA-A837-991A96BB2854
  name: IST Austria Open Access Fund
publication: Formal Methods in System Design
publication_status: published
publisher: Springer
publist_id: '5929'
pubrep_id: '656'
quality_controlled: '1'
related_material:
  record:
  - id: '1729'
    relation: earlier_version
    status: public
scopus_import: '1'
status: public
title: From non-preemptive to preemptive scheduling using synchronization synthesis
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: journal_article
user_id: 2DF688A6-F248-11E8-B48F-1D18A9856A87
volume: 50
year: '2017'
...
---
_id: '1390'
abstract:
- lang: eng
  text: "The goal of automatic program repair is to identify a set of syntactic changes
    that can turn a program that is incorrect with respect\r\nto a given specification
    into a correct one. Existing program repair techniques typically aim to find any
    program that meets the given specification. Such “best-effort” strategies can
    end up generating a program that is quite different from the original one. Novel
    techniques have been proposed to compute syntactically minimal program fixes,
    but the smallest syntactic fix to a program can still significantly alter the
    original program’s behaviour. We propose a new approach to program repair based
    on program distances, which can quantify changes not only to the program syntax
    but also to the program semantics. We call this the quantitative program repair
    problem where the “optimal” repair is derived using multiple distances. We implement
    a solution to the quantitative repair\r\nproblem in a prototype tool called Qlose\r\n(Quantitatively
    close), using the program synthesizer Sketch. We evaluate the effectiveness of
    different distances in obtaining desirable repairs by evaluating\r\nQlose on programs
    taken from educational tools such as CodeHunt and edX."
alternative_title:
- LNCS
article_processing_charge: No
author:
- first_name: Loris
  full_name: D'Antoni, Loris
  last_name: D'Antoni
- first_name: Roopsha
  full_name: Samanta, Roopsha
  id: 3D2AAC08-F248-11E8-B48F-1D18A9856A87
  last_name: Samanta
- first_name: Rishabh
  full_name: Singh, Rishabh
  last_name: Singh
citation:
  ama: 'D’Antoni L, Samanta R, Singh R. QLOSE: Program repair with quantitative objectives.
    In: Vol 9780. Springer; 2016:383-401. doi:<a href="https://doi.org/10.1007/978-3-319-41540-6_21">10.1007/978-3-319-41540-6_21</a>'
  apa: 'D’Antoni, L., Samanta, R., &#38; Singh, R. (2016). QLOSE: Program repair with
    quantitative objectives (Vol. 9780, pp. 383–401). Presented at the CAV: Computer
    Aided Verification, Toronto, Canada: Springer. <a href="https://doi.org/10.1007/978-3-319-41540-6_21">https://doi.org/10.1007/978-3-319-41540-6_21</a>'
  chicago: 'D’Antoni, Loris, Roopsha Samanta, and Rishabh Singh. “QLOSE: Program Repair
    with Quantitative Objectives,” 9780:383–401. Springer, 2016. <a href="https://doi.org/10.1007/978-3-319-41540-6_21">https://doi.org/10.1007/978-3-319-41540-6_21</a>.'
  ieee: 'L. D’Antoni, R. Samanta, and R. Singh, “QLOSE: Program repair with quantitative
    objectives,” presented at the CAV: Computer Aided Verification, Toronto, Canada,
    2016, vol. 9780, pp. 383–401.'
  ista: 'D’Antoni L, Samanta R, Singh R. 2016. QLOSE: Program repair with quantitative
    objectives. CAV: Computer Aided Verification, LNCS, vol. 9780, 383–401.'
  mla: 'D’Antoni, Loris, et al. <i>QLOSE: Program Repair with Quantitative Objectives</i>.
    Vol. 9780, Springer, 2016, pp. 383–401, doi:<a href="https://doi.org/10.1007/978-3-319-41540-6_21">10.1007/978-3-319-41540-6_21</a>.'
  short: L. D’Antoni, R. Samanta, R. Singh, in:, Springer, 2016, pp. 383–401.
conference:
  end_date: 2016-07-23
  location: Toronto, Canada
  name: 'CAV: Computer Aided Verification'
  start_date: 2016-07-17
corr_author: '1'
date_created: 2018-12-11T11:51:45Z
date_published: 2016-07-13T00:00:00Z
date_updated: 2025-09-22T07:30:07Z
day: '13'
department:
- _id: ToHe
doi: 10.1007/978-3-319-41540-6_21
ec_funded: 1
external_id:
  isi:
  - '000387731400021'
intvolume: '      9780'
isi: 1
language:
- iso: eng
month: '07'
oa_version: None
page: 383 - 401
project:
- _id: 25EE3708-B435-11E9-9278-68D0E5697425
  call_identifier: FP7
  grant_number: '267989'
  name: Quantitative Reactive Modeling
- _id: 25832EC2-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: S 11407_N23
  name: Rigorous Systems Engineering
- _id: 25F42A32-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: Z211
  name: Formal methods for the design and analysis of complex systems
publication_status: published
publisher: Springer
publist_id: '5819'
quality_controlled: '1'
scopus_import: '1'
status: public
title: 'QLOSE: Program repair with quantitative objectives'
type: conference
user_id: 317138e5-6ab7-11ef-aa6d-ffef3953e345
volume: 9780
year: '2016'
...
---
_id: '1526'
abstract:
- lang: eng
  text: 'We present the first study of robustness of systems that are both timed as
    well as reactive (I/O). We study the behavior of such timed I/O systems in the
    presence of uncertain inputs and formalize their robustness using the analytic
    notion of Lipschitz continuity: a timed I/O system is K-(Lipschitz) robust if
    the perturbation in its output is at most K times the perturbation in its input.
    We quantify input and output perturbation using similarity functions over timed
    words such as the timed version of the Manhattan distance and the Skorokhod distance.
    We consider two models of timed I/O systems — timed transducers and asynchronous
    sequential circuits. We show that K-robustness of timed transducers can be decided
    in polynomial space under certain conditions. For asynchronous sequential circuits,
    we reduce K-robustness w.r.t. timed Manhattan distances to K-robustness of discrete
    letter-to-letter transducers and show PSpace-completeness of the problem.'
acknowledgement: This research was supported in part by the European Research Council
  (ERC) under grant 267989 (QUAREM), by the Austrian Science Fund (FWF) under grants
  S11402-N23 (RiSE) and Z211-N23 (Wittgenstein Award), and by the National Science
  Centre (NCN), Poland under grant 2014/15/D/ST6/04543.
alternative_title:
- LNCS
article_processing_charge: No
arxiv: 1
author:
- 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: Jan
  full_name: Otop, Jan
  id: 2FC5DA74-F248-11E8-B48F-1D18A9856A87
  last_name: Otop
- first_name: Roopsha
  full_name: Samanta, Roopsha
  id: 3D2AAC08-F248-11E8-B48F-1D18A9856A87
  last_name: Samanta
citation:
  ama: 'Henzinger TA, Otop J, Samanta R. Lipschitz robustness of timed I/O systems.
    In: Vol 9583. Springer; 2016:250-267. doi:<a href="https://doi.org/10.1007/978-3-662-49122-5_12">10.1007/978-3-662-49122-5_12</a>'
  apa: 'Henzinger, T. A., Otop, J., &#38; Samanta, R. (2016). Lipschitz robustness
    of timed I/O systems (Vol. 9583, pp. 250–267). Presented at the VMCAI: Verification,
    Model Checking and Abstract Interpretation, St. Petersburg, FL, USA: Springer.
    <a href="https://doi.org/10.1007/978-3-662-49122-5_12">https://doi.org/10.1007/978-3-662-49122-5_12</a>'
  chicago: Henzinger, Thomas A, Jan Otop, and Roopsha Samanta. “Lipschitz Robustness
    of Timed I/O Systems,” 9583:250–67. Springer, 2016. <a href="https://doi.org/10.1007/978-3-662-49122-5_12">https://doi.org/10.1007/978-3-662-49122-5_12</a>.
  ieee: 'T. A. Henzinger, J. Otop, and R. Samanta, “Lipschitz robustness of timed
    I/O systems,” presented at the VMCAI: Verification, Model Checking and Abstract
    Interpretation, St. Petersburg, FL, USA, 2016, vol. 9583, pp. 250–267.'
  ista: 'Henzinger TA, Otop J, Samanta R. 2016. Lipschitz robustness of timed I/O
    systems. VMCAI: Verification, Model Checking and Abstract Interpretation, LNCS,
    vol. 9583, 250–267.'
  mla: Henzinger, Thomas A., et al. <i>Lipschitz Robustness of Timed I/O Systems</i>.
    Vol. 9583, Springer, 2016, pp. 250–67, doi:<a href="https://doi.org/10.1007/978-3-662-49122-5_12">10.1007/978-3-662-49122-5_12</a>.
  short: T.A. Henzinger, J. Otop, R. Samanta, in:, Springer, 2016, pp. 250–267.
conference:
  end_date: 2016-01-19
  location: St. Petersburg, FL, USA
  name: 'VMCAI: Verification, Model Checking and Abstract Interpretation'
  start_date: 2016-01-17
corr_author: '1'
date_created: 2018-12-11T11:52:32Z
date_published: 2016-01-01T00:00:00Z
date_updated: 2025-09-18T11:06:25Z
day: '01'
department:
- _id: ToHe
doi: 10.1007/978-3-662-49122-5_12
ec_funded: 1
external_id:
  arxiv:
  - '1506.01233'
  isi:
  - '000375148800012'
intvolume: '      9583'
isi: 1
language:
- iso: eng
main_file_link:
- open_access: '1'
  url: http://arxiv.org/abs/1506.01233
month: '01'
oa: 1
oa_version: Preprint
page: 250 - 267
project:
- _id: 25EE3708-B435-11E9-9278-68D0E5697425
  call_identifier: FP7
  grant_number: '267989'
  name: Quantitative Reactive Modeling
- _id: 25F42A32-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: Z211
  name: Formal methods for the design and analysis of complex systems
- _id: 25832EC2-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: S 11407_N23
  name: Rigorous Systems Engineering
publication_status: published
publisher: Springer
publist_id: '5647'
quality_controlled: '1'
scopus_import: '1'
status: public
title: Lipschitz robustness of timed I/O systems
type: conference
user_id: 317138e5-6ab7-11ef-aa6d-ffef3953e345
volume: 9583
year: '2016'
...
---
_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."
article_processing_charge: No
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: 2025-03-07T08:44:29Z
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'
...
---
OA_place: repository
OA_type: green
_id: '1729'
abstract:
- lang: eng
  text: We present a computer-aided programming approach to concurrency. The approach
    allows programmers to program assuming a friendly, non-preemptive scheduler, and
    our synthesis procedure inserts synchronization to ensure that the final program
    works even with a preemptive scheduler. The correctness specification is implicit,
    inferred from the non-preemptive behavior. Let us consider sequences of calls
    that the program makes to an external interface. The specification requires that
    any such sequence produced under a preemptive scheduler should be included in
    the set of such sequences produced under a non-preemptive scheduler. The solution
    is based on a finitary abstraction, an algorithm for bounded language inclusion
    modulo an independence relation, and rules for inserting synchronization. We apply
    the approach to device-driver programming, where the driver threads call the software
    interface of the device and the API provided by the operating system. Our experiments
    demonstrate that our synthesis method is precise and efficient, and, since it
    does not require explicit specifications, is more practical than the conventional
    approach based on user-provided assertions.
alternative_title:
- LNCS
article_processing_charge: No
author:
- first_name: Pavol
  full_name: Cerny, Pavol
  id: 4DCBEFFE-F248-11E8-B48F-1D18A9856A87
  last_name: Cerny
- first_name: Edmund
  full_name: Clarke, Edmund
  last_name: Clarke
- 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: Leonid
  full_name: Ryzhyk, Leonid
  last_name: Ryzhyk
- 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: Cerny P, Clarke E, Henzinger TA, et al. From non-preemptive to preemptive scheduling
    using synchronization synthesis. 2015;9207:180-197. doi:<a href="https://doi.org/10.1007/978-3-319-21668-3_11">10.1007/978-3-319-21668-3_11</a>
  apa: 'Cerny, P., Clarke, E., Henzinger, T. A., Radhakrishna, A., Ryzhyk, L., Samanta,
    R., &#38; Tarrach, T. (2015). From non-preemptive to preemptive scheduling using
    synchronization synthesis. Presented at the CAV: Computer Aided Verification,
    San Francisco, CA, United States: Springer. <a href="https://doi.org/10.1007/978-3-319-21668-3_11">https://doi.org/10.1007/978-3-319-21668-3_11</a>'
  chicago: Cerny, Pavol, Edmund Clarke, Thomas A Henzinger, Arjun Radhakrishna, Leonid
    Ryzhyk, Roopsha Samanta, and Thorsten Tarrach. “From Non-Preemptive to Preemptive
    Scheduling Using Synchronization Synthesis.” Lecture Notes in Computer Science.
    Springer, 2015. <a href="https://doi.org/10.1007/978-3-319-21668-3_11">https://doi.org/10.1007/978-3-319-21668-3_11</a>.
  ieee: P. Cerny <i>et al.</i>, “From non-preemptive to preemptive scheduling using
    synchronization synthesis,” vol. 9207. Springer, pp. 180–197, 2015.
  ista: Cerny P, Clarke E, Henzinger TA, Radhakrishna A, Ryzhyk L, Samanta R, Tarrach
    T. 2015. From non-preemptive to preemptive scheduling using synchronization synthesis.
    9207, 180–197.
  mla: Cerny, Pavol, et al. <i>From Non-Preemptive to Preemptive Scheduling Using
    Synchronization Synthesis</i>. Vol. 9207, Springer, 2015, pp. 180–97, doi:<a href="https://doi.org/10.1007/978-3-319-21668-3_11">10.1007/978-3-319-21668-3_11</a>.
  short: P. Cerny, E. Clarke, T.A. Henzinger, A. Radhakrishna, L. Ryzhyk, R. Samanta,
    T. Tarrach, 9207 (2015) 180–197.
conference:
  end_date: 2015-07-24
  location: San Francisco, CA, United States
  name: 'CAV: Computer Aided Verification'
  start_date: 2015-07-18
date_created: 2018-12-11T11:53:42Z
date_published: 2015-07-01T00:00:00Z
date_updated: 2026-04-09T10:54:00Z
day: '01'
ddc:
- '000'
department:
- _id: ToHe
doi: 10.1007/978-3-319-21668-3_11
ec_funded: 1
external_id:
  isi:
  - '000491470400011'
file:
- access_level: open_access
  checksum: 6ff58ac220e2f20cb001ba35d4924495
  content_type: application/pdf
  creator: system
  date_created: 2018-12-12T10:08:53Z
  date_updated: 2025-06-26T07:12:35Z
  file_id: '4715'
  file_name: IST-2015-336-v1+1_long_version.pdf
  file_size: 481922
  relation: main_file
file_date_updated: 2025-06-26T07:12:35Z
has_accepted_license: '1'
intvolume: '      9207'
isi: 1
language:
- iso: eng
month: '07'
oa: 1
oa_version: Submitted Version
page: 180 - 197
project:
- _id: 25EE3708-B435-11E9-9278-68D0E5697425
  call_identifier: FP7
  grant_number: '267989'
  name: Quantitative Reactive Modeling
- _id: 25F42A32-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: Z211
  name: Formal methods for the design and analysis of complex systems
- _id: 25832EC2-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: S 11407_N23
  name: Rigorous Systems Engineering
publication_status: published
publisher: Springer
publist_id: '5398'
pubrep_id: '336'
quality_controlled: '1'
related_material:
  record:
  - id: '1338'
    relation: later_version
    status: public
  - id: '1130'
    relation: dissertation_contains
    status: public
scopus_import: '1'
series_title: Lecture Notes in Computer Science
status: public
title: From non-preemptive to preemptive scheduling using synchronization synthesis
type: conference
user_id: 317138e5-6ab7-11ef-aa6d-ffef3953e345
volume: 9207
year: '2015'
...
---
_id: '1870'
abstract:
- lang: eng
  text: We investigate the problem of checking if a finite-state transducer is robust
    to uncertainty in its input. Our notion of robustness is based on the analytic
    notion of Lipschitz continuity - a transducer is K-(Lipschitz) robust if the perturbation
    in its output is at most K times the perturbation in its input. We quantify input
    and output perturbation using similarity functions. We show that K-robustness
    is undecidable even for deterministic transducers. We identify a class of functional
    transducers, which admits a polynomial time automata-theoretic decision procedure
    for K-robustness. This class includes Mealy machines and functional letter-to-letter
    transducers. We also study K-robustness of nondeterministic transducers. Since
    a nondeterministic transducer generates a set of output words for each input word,
    we quantify output perturbation using setsimilarity functions. We show that K-robustness
    of nondeterministic transducers is undecidable, even for letter-to-letter transducers.
    We identify a class of set-similarity functions which admit decidable K-robustness
    of letter-to-letter transducers.
alternative_title:
- LIPIcs
author:
- 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: Jan
  full_name: Otop, Jan
  id: 2FC5DA74-F248-11E8-B48F-1D18A9856A87
  last_name: Otop
- first_name: Roopsha
  full_name: Samanta, Roopsha
  id: 3D2AAC08-F248-11E8-B48F-1D18A9856A87
  last_name: Samanta
citation:
  ama: 'Henzinger TA, Otop J, Samanta R. Lipschitz robustness of finite-state transducers.
    In: <i>Leibniz International Proceedings in Informatics, LIPIcs</i>. Vol 29. Schloss
    Dagstuhl - Leibniz-Zentrum für Informatik; 2014:431-443. doi:<a href="https://doi.org/10.4230/LIPIcs.FSTTCS.2014.431">10.4230/LIPIcs.FSTTCS.2014.431</a>'
  apa: 'Henzinger, T. A., Otop, J., &#38; Samanta, R. (2014). Lipschitz robustness
    of finite-state transducers. In <i>Leibniz International Proceedings in Informatics,
    LIPIcs</i> (Vol. 29, pp. 431–443). Delhi, India: Schloss Dagstuhl - Leibniz-Zentrum
    für Informatik. <a href="https://doi.org/10.4230/LIPIcs.FSTTCS.2014.431">https://doi.org/10.4230/LIPIcs.FSTTCS.2014.431</a>'
  chicago: Henzinger, Thomas A, Jan Otop, and Roopsha Samanta. “Lipschitz Robustness
    of Finite-State Transducers.” In <i>Leibniz International Proceedings in Informatics,
    LIPIcs</i>, 29:431–43. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2014.
    <a href="https://doi.org/10.4230/LIPIcs.FSTTCS.2014.431">https://doi.org/10.4230/LIPIcs.FSTTCS.2014.431</a>.
  ieee: T. A. Henzinger, J. Otop, and R. Samanta, “Lipschitz robustness of finite-state
    transducers,” in <i>Leibniz International Proceedings in Informatics, LIPIcs</i>,
    Delhi, India, 2014, vol. 29, pp. 431–443.
  ista: 'Henzinger TA, Otop J, Samanta R. 2014. Lipschitz robustness of finite-state
    transducers. Leibniz International Proceedings in Informatics, LIPIcs. FSTTCS:
    Foundations of Software Technology and Theoretical Computer Science, LIPIcs, vol.
    29, 431–443.'
  mla: Henzinger, Thomas A., et al. “Lipschitz Robustness of Finite-State Transducers.”
    <i>Leibniz International Proceedings in Informatics, LIPIcs</i>, vol. 29, Schloss
    Dagstuhl - Leibniz-Zentrum für Informatik, 2014, pp. 431–43, doi:<a href="https://doi.org/10.4230/LIPIcs.FSTTCS.2014.431">10.4230/LIPIcs.FSTTCS.2014.431</a>.
  short: T.A. Henzinger, J. Otop, R. Samanta, in:, Leibniz International Proceedings
    in Informatics, LIPIcs, Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2014,
    pp. 431–443.
conference:
  end_date: 2014-12-17
  location: Delhi, India
  name: 'FSTTCS: Foundations of Software Technology and Theoretical Computer Science'
  start_date: 2014-12-15
corr_author: '1'
date_created: 2018-12-11T11:54:27Z
date_published: 2014-12-01T00:00:00Z
date_updated: 2024-10-21T06:02:49Z
day: '01'
ddc:
- '004'
department:
- _id: ToHe
doi: 10.4230/LIPIcs.FSTTCS.2014.431
file:
- access_level: open_access
  checksum: 7b1aff1710a8bffb7080ec07f62d9a17
  content_type: application/pdf
  creator: system
  date_created: 2018-12-12T10:09:11Z
  date_updated: 2020-07-14T12:45:19Z
  file_id: '4734'
  file_name: IST-2017-804-v1+1_37.pdf
  file_size: 562151
  relation: main_file
file_date_updated: 2020-07-14T12:45:19Z
has_accepted_license: '1'
intvolume: '        29'
language:
- iso: eng
month: '12'
oa: 1
oa_version: Published Version
page: 431 - 443
publication: Leibniz International Proceedings in Informatics, LIPIcs
publication_status: published
publisher: Schloss Dagstuhl - Leibniz-Zentrum für Informatik
publist_id: '5227'
pubrep_id: '804'
quality_controlled: '1'
scopus_import: '1'
status: public
title: Lipschitz robustness of finite-state transducers
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: 4435EBFC-F248-11E8-B48F-1D18A9856A87
volume: 29
year: '2014'
...
---
_id: '1875'
abstract:
- lang: eng
  text: We present a formal framework for repairing infinite-state, imperative, sequential
    programs, with (possibly recursive) procedures and multiple assertions; the framework
    can generate repaired programs by modifying the original erroneous program in
    multiple program locations, and can ensure the readability of the repaired program
    using user-defined expression templates; the framework also generates a set of
    inductive assertions that serve as a proof of correctness of the repaired program.
    As a step toward integrating programmer intent and intuition in automated program
    repair, we present a cost-aware formulation - given a cost function associated
    with permissible statement modifications, the goal is to ensure that the total
    program modification cost does not exceed a given repair budget. As part of our
    predicate abstractionbased solution framework, we present a sound and complete
    algorithm for repair of Boolean programs. We have developed a prototype tool based
    on SMT solving and used it successfully to repair diverse errors in benchmark
    C programs.
alternative_title:
- LNCS
author:
- first_name: Roopsha
  full_name: Samanta, Roopsha
  id: 3D2AAC08-F248-11E8-B48F-1D18A9856A87
  last_name: Samanta
- first_name: Oswaldo
  full_name: Olivo, Oswaldo
  last_name: Olivo
- first_name: Emerson
  full_name: Allen, Emerson
  last_name: Allen
citation:
  ama: 'Samanta R, Olivo O, Allen E. Cost-aware automatic program repair. In: Müller-Olm
    M, Seidl H, eds. Vol 8723. Springer; 2014:268-284. doi:<a href="https://doi.org/10.1007/978-3-319-10936-7_17">10.1007/978-3-319-10936-7_17</a>'
  apa: 'Samanta, R., Olivo, O., &#38; Allen, E. (2014). Cost-aware automatic program
    repair. In M. Müller-Olm &#38; H. Seidl (Eds.) (Vol. 8723, pp. 268–284). Presented
    at the SAS: Static Analysis Symposium, Munich, Germany: Springer. <a href="https://doi.org/10.1007/978-3-319-10936-7_17">https://doi.org/10.1007/978-3-319-10936-7_17</a>'
  chicago: Samanta, Roopsha, Oswaldo Olivo, and Emerson Allen. “Cost-Aware Automatic
    Program Repair.” edited by Markus Müller-Olm and Helmut Seidl, 8723:268–84. Springer,
    2014. <a href="https://doi.org/10.1007/978-3-319-10936-7_17">https://doi.org/10.1007/978-3-319-10936-7_17</a>.
  ieee: 'R. Samanta, O. Olivo, and E. Allen, “Cost-aware automatic program repair,”
    presented at the SAS: Static Analysis Symposium, Munich, Germany, 2014, vol. 8723,
    pp. 268–284.'
  ista: 'Samanta R, Olivo O, Allen E. 2014. Cost-aware automatic program repair. SAS:
    Static Analysis Symposium, LNCS, vol. 8723, 268–284.'
  mla: Samanta, Roopsha, et al. <i>Cost-Aware Automatic Program Repair</i>. Edited
    by Markus Müller-Olm and Helmut Seidl, vol. 8723, Springer, 2014, pp. 268–84,
    doi:<a href="https://doi.org/10.1007/978-3-319-10936-7_17">10.1007/978-3-319-10936-7_17</a>.
  short: R. Samanta, O. Olivo, E. Allen, in:, M. Müller-Olm, H. Seidl (Eds.), Springer,
    2014, pp. 268–284.
conference:
  end_date: 2014-09-14
  location: Munich, Germany
  name: 'SAS: Static Analysis Symposium'
  start_date: 2014-09-11
date_created: 2018-12-11T11:54:29Z
date_published: 2014-09-01T00:00:00Z
date_updated: 2021-01-12T06:53:46Z
day: '01'
ddc:
- '000'
- '005'
department:
- _id: ToHe
doi: 10.1007/978-3-319-10936-7_17
editor:
- first_name: Markus
  full_name: Müller-Olm, Markus
  last_name: Müller-Olm
- first_name: Helmut
  full_name: Seidl, Helmut
  last_name: Seidl
file:
- access_level: open_access
  checksum: 78ec4ea1bdecc676cd3e8cad35c6182c
  content_type: application/pdf
  creator: system
  date_created: 2018-12-12T10:07:51Z
  date_updated: 2020-07-14T12:45:19Z
  file_id: '4650'
  file_name: IST-2014-313-v1+1_SOE.SAS14.pdf
  file_size: 409485
  relation: main_file
file_date_updated: 2020-07-14T12:45:19Z
has_accepted_license: '1'
intvolume: '      8723'
language:
- iso: eng
month: '09'
oa: 1
oa_version: Submitted Version
page: 268 - 284
publication_status: published
publisher: Springer
publist_id: '5221'
pubrep_id: '313'
quality_controlled: '1'
scopus_import: 1
status: public
title: Cost-aware automatic program repair
type: conference
user_id: 4435EBFC-F248-11E8-B48F-1D18A9856A87
volume: 8723
year: '2014'
...
