CURE: Code-Aware Neural Machine Translation for Automatic Program Repair.

Saved in:
Bibliographic Details
Title: CURE: Code-Aware Neural Machine Translation for Automatic Program Repair.
Authors: Nan Jiang1 jiang719@purdue.edu, Lutellier, Thibaud2 tlutelli@uwaterloo.ca, Lin Tan1 lintan@purdue.edu
Source: ICSE: International Conference on Software Engineering. 5/22/2021, p1161-1173. 13p.
Subjects: Machine translating, Automatic programming (Computer science), Software reliability, Computer science, Software engineers, Artificial intelligence
Abstract: Automatic program repair (APR) is crucial to improve software reliability. Recently, neural machine translation (NMT) techniques have been used to fix software bugs automatically. While promising, these approaches have two major limitations. Their search space often does not contain the correct fix, and their search strategy ignores software knowledge such as strict code syntax. Due to these limitations, existing NMT-based techniques underperform the best template-based approaches. We propose CURE, a new NMT-based APR technique with three major novelties. First, CURE pre-trains a programming language (PL) model on a large software codebase to learn developer-like source code before the APR task. Second, CURE designs a new code-aware search strategy that finds more correct fixes by focusing on compilable patches and patches that are close in length to the buggy code. Finally, CURE uses a subword tokenization technique to generate a smaller search space that contains more correct fixes. Our evaluation on two widely-used benchmarks shows that CURE correctly fixes 57 Defects4J bugs and 26 QuixBugs bugs, outperforming all existing APR techniques on both benchmarks. [ABSTRACT FROM AUTHOR]
Copyright of ICSE: International Conference on Software Engineering is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Links:
  – Type: pdflink
Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 155538762
AccessLevel: 6
PubType: Conference
PubTypeId: conference
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: CURE: Code-Aware Neural Machine Translation for Automatic Program Repair.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Nan+Jiang%22">Nan Jiang</searchLink><relatesTo>1</relatesTo><i> jiang719@purdue.edu</i><br /><searchLink fieldCode="AR" term="%22Lutellier%2C+Thibaud%22">Lutellier, Thibaud</searchLink><relatesTo>2</relatesTo><i> tlutelli@uwaterloo.ca</i><br /><searchLink fieldCode="AR" term="%22Lin+Tan%22">Lin Tan</searchLink><relatesTo>1</relatesTo><i> lintan@purdue.edu</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22ICSE%3A+International+Conference+on+Software+Engineering%22">ICSE: International Conference on Software Engineering</searchLink>. 5/22/2021, p1161-1173. 13p.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Machine+translating%22">Machine translating</searchLink><br /><searchLink fieldCode="DE" term="%22Automatic+programming+%28Computer+science%29%22">Automatic programming (Computer science)</searchLink><br /><searchLink fieldCode="DE" term="%22Software+reliability%22">Software reliability</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+science%22">Computer science</searchLink><br /><searchLink fieldCode="DE" term="%22Software+engineers%22">Software engineers</searchLink><br /><searchLink fieldCode="DE" term="%22Artificial+intelligence%22">Artificial intelligence</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: Automatic program repair (APR) is crucial to improve software reliability. Recently, neural machine translation (NMT) techniques have been used to fix software bugs automatically. While promising, these approaches have two major limitations. Their search space often does not contain the correct fix, and their search strategy ignores software knowledge such as strict code syntax. Due to these limitations, existing NMT-based techniques underperform the best template-based approaches. We propose CURE, a new NMT-based APR technique with three major novelties. First, CURE pre-trains a programming language (PL) model on a large software codebase to learn developer-like source code before the APR task. Second, CURE designs a new code-aware search strategy that finds more correct fixes by focusing on compilable patches and patches that are close in length to the buggy code. Finally, CURE uses a subword tokenization technique to generate a smaller search space that contains more correct fixes. Our evaluation on two widely-used benchmarks shows that CURE correctly fixes 57 Defects4J bugs and 26 QuixBugs bugs, outperforming all existing APR techniques on both benchmarks. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of ICSE: International Conference on Software Engineering is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=155538762
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1109/ICSE43902.2021.00107
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 13
        StartPage: 1161
    Subjects:
      – SubjectFull: Machine translating
        Type: general
      – SubjectFull: Automatic programming (Computer science)
        Type: general
      – SubjectFull: Software reliability
        Type: general
      – SubjectFull: Computer science
        Type: general
      – SubjectFull: Software engineers
        Type: general
      – SubjectFull: Artificial intelligence
        Type: general
    Titles:
      – TitleFull: CURE: Code-Aware Neural Machine Translation for Automatic Program Repair.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Nan Jiang
      – PersonEntity:
          Name:
            NameFull: Lutellier, Thibaud
      – PersonEntity:
          Name:
            NameFull: Lin Tan
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 22
              M: 05
              Text: 5/22/2021
              Type: published
              Y: 2021
          Titles:
            – TitleFull: ICSE: International Conference on Software Engineering
              Type: main
ResultId 1