---
_id: '942'
abstract:
- lang: eng
  text: 'A notable class of techniques for automatic program repair is known as semantics-based.
    Such techniques, e.g., Angelix, infer semantic specifications via symbolic execution,
    and then use program synthesis to construct new code that satisfies those inferred
    specifications. However, the obtained specifications are naturally incomplete,
    leaving the synthesis engine with a difficult task of synthesizing a general solution
    from a sparse space of many possible solutions that are consistent with the provided
    specifications but that do not necessarily generalize. We present S3, a new repair
    synthesis engine that leverages programming-by-examples methodology to synthesize
    high-quality bug repairs. The novelty in S3 that allows it to tackle the sparse
    search space to create more general repairs is three-fold: (1) A systematic way
    to customize and constrain the syntactic search space via a domain-specific language,
    (2) An efficient enumeration-based search strategy over the constrained search
    space, and (3) A number of ranking features based on measures of the syntactic
    and semantic distances between candidate solutions and the original buggy program.
    We compare S3’s repair effectiveness with state-of-the-art synthesis engines Angelix,
    Enumerative, and CVC4. S3 can successfully and correctly fix at least three times
    more bugs than the best baseline on datasets of 52 bugs in small programs, and
    100 bugs in real-world large programs. '
article_processing_charge: No
author:
- first_name: Xuan
  full_name: Le, Xuan
  last_name: Le
- first_name: Duc Hiep
  full_name: Chu, Duc Hiep
  id: 3598E630-F248-11E8-B48F-1D18A9856A87
  last_name: Chu
- first_name: David
  full_name: Lo, David
  last_name: Lo
- first_name: Claire
  full_name: Le Goues, Claire
  last_name: Le Goues
- first_name: Willem
  full_name: Visser, Willem
  last_name: Visser
citation:
  ama: 'Le X, Chu DH, Lo D, Le Goues C, Visser W. S3: Syntax- and semantic-guided
    repair synthesis via programming by examples. In: Vol F130154. ACM; 2017:593-604.
    doi:<a href="https://doi.org/10.1145/3106237.3106309">10.1145/3106237.3106309</a>'
  apa: 'Le, X., Chu, D. H., Lo, D., Le Goues, C., &#38; Visser, W. (2017). S3: Syntax-
    and semantic-guided repair synthesis via programming by examples (Vol. F130154,
    pp. 593–604). Presented at the FSE: Foundations of Software Engineering, Paderborn,
    Germany: ACM. <a href="https://doi.org/10.1145/3106237.3106309">https://doi.org/10.1145/3106237.3106309</a>'
  chicago: 'Le, Xuan, Duc Hiep Chu, David Lo, Claire Le Goues, and Willem Visser.
    “S3: Syntax- and Semantic-Guided Repair Synthesis via Programming by Examples,”
    F130154:593–604. ACM, 2017. <a href="https://doi.org/10.1145/3106237.3106309">https://doi.org/10.1145/3106237.3106309</a>.'
  ieee: 'X. Le, D. H. Chu, D. Lo, C. Le Goues, and W. Visser, “S3: Syntax- and semantic-guided
    repair synthesis via programming by examples,” presented at the FSE: Foundations
    of Software Engineering, Paderborn, Germany, 2017, vol. F130154, pp. 593–604.'
  ista: 'Le X, Chu DH, Lo D, Le Goues C, Visser W. 2017. S3: Syntax- and semantic-guided
    repair synthesis via programming by examples. FSE: Foundations of Software Engineering
    vol. F130154, 593–604.'
  mla: 'Le, Xuan, et al. <i>S3: Syntax- and Semantic-Guided Repair Synthesis via Programming
    by Examples</i>. Vol. F130154, ACM, 2017, pp. 593–604, doi:<a href="https://doi.org/10.1145/3106237.3106309">10.1145/3106237.3106309</a>.'
  short: X. Le, D.H. Chu, D. Lo, C. Le Goues, W. Visser, in:, ACM, 2017, pp. 593–604.
conference:
  end_date: 2017-09-08
  location: Paderborn, Germany
  name: 'FSE: Foundations of Software Engineering'
  start_date: 2017-09-04
date_created: 2018-12-11T11:49:19Z
date_published: 2017-09-01T00:00:00Z
date_updated: 2023-09-26T15:38:36Z
day: '01'
department:
- _id: ToHe
doi: 10.1145/3106237.3106309
external_id:
  isi:
  - '000414279300055'
isi: 1
language:
- iso: eng
month: '09'
oa_version: None
page: 593 - 604
project:
- _id: 25F5A88A-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: S11402-N23
  name: Moderne Concurrency Paradigms
- _id: 25F42A32-B435-11E9-9278-68D0E5697425
  call_identifier: FWF
  grant_number: Z211
  name: The Wittgenstein Prize
publication_identifier:
  isbn:
  - 978-145035105-8
publication_status: published
publisher: ACM
publist_id: '6477'
quality_controlled: '1'
scopus_import: '1'
status: public
title: 'S3: Syntax- and semantic-guided repair synthesis via programming by examples'
type: conference
user_id: c635000d-4b10-11ee-a964-aac5a93f6ac1
volume: F130154
year: '2017'
...
