Labelrepair: Sequence Labelling for Compilation Errors Repair

Manual fixing of compilation errors could be a tedious and time-consuming task for novice programmers, and even for experienced ones. In recent years, an increasing number of automated repair techniques have been proposed to guide novice programmers and improve the efficiency of software development...

Full description

Saved in:
Bibliographic Details
Published in2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) pp. 860 - 871
Main Authors Wu, Zhenyu, Yang, Deheng, Lei, Yan, Xie, Huan, Tang, Minghua, Li, Maojin
Format Conference Proceeding
LanguageEnglish
Published IEEE 12.03.2024
Subjects
Online AccessGet full text

Cover

Loading…
Abstract Manual fixing of compilation errors could be a tedious and time-consuming task for novice programmers, and even for experienced ones. In recent years, an increasing number of automated repair techniques have been proposed to guide novice programmers and improve the efficiency of software development. Among them, learning-based automated repair techniques have achieved promising results in terms of repair accuracy. However, existing approaches neglect the time efficiency of patch generation, and often treat the compilation errors repair as a neural machine translation task. The end-to-end repair model decoding cannot be parallelized during the inference stage and suffers from redundant decoding search space. Furthermore, the large search space brought by the model poses a potential risk of semantic tampering. To this end, we propose Labelrepair, a novel repair technique that treats the repair of compilation errors as a sequence labelling task. Labelrepair discards the decoding model and converts the search for patches to a search for the error mapping actions between broken code and patch code pairs. In this way, the search space for patch tokens is plum-meted from the entire vocabulary to the size of edit action labels, and the logical semantics of the original program are preserved to some extent. The time complexity of inference is reduced from O(n) to O (1) owing to the parallel generation of edit action labels. Through a comprehensive evaluation of Labelrepair on two datasets, we demonstrate that Labelrepair is able to generate patches instantly (0.71ms on average), which is 28 times faster than existing end-to-end repair models. Compared with existing edit-based repair models, Labelrepair achieves the state-of-art repair accuracy.
AbstractList Manual fixing of compilation errors could be a tedious and time-consuming task for novice programmers, and even for experienced ones. In recent years, an increasing number of automated repair techniques have been proposed to guide novice programmers and improve the efficiency of software development. Among them, learning-based automated repair techniques have achieved promising results in terms of repair accuracy. However, existing approaches neglect the time efficiency of patch generation, and often treat the compilation errors repair as a neural machine translation task. The end-to-end repair model decoding cannot be parallelized during the inference stage and suffers from redundant decoding search space. Furthermore, the large search space brought by the model poses a potential risk of semantic tampering. To this end, we propose Labelrepair, a novel repair technique that treats the repair of compilation errors as a sequence labelling task. Labelrepair discards the decoding model and converts the search for patches to a search for the error mapping actions between broken code and patch code pairs. In this way, the search space for patch tokens is plum-meted from the entire vocabulary to the size of edit action labels, and the logical semantics of the original program are preserved to some extent. The time complexity of inference is reduced from O(n) to O (1) owing to the parallel generation of edit action labels. Through a comprehensive evaluation of Labelrepair on two datasets, we demonstrate that Labelrepair is able to generate patches instantly (0.71ms on average), which is 28 times faster than existing end-to-end repair models. Compared with existing edit-based repair models, Labelrepair achieves the state-of-art repair accuracy.
Author Wu, Zhenyu
Xie, Huan
Lei, Yan
Tang, Minghua
Yang, Deheng
Li, Maojin
Author_xml – sequence: 1
  givenname: Zhenyu
  surname: Wu
  fullname: Wu, Zhenyu
  email: zhenyu_wu@stu.cqu.edu.cn
  organization: School of Big Data & Software Engineering, Chongqing University,Chongqing,China
– sequence: 2
  givenname: Deheng
  surname: Yang
  fullname: Yang, Deheng
  email: dehengyang@outlook.com
  organization: Academy of Military Sciences,Beijing,China
– sequence: 3
  givenname: Yan
  surname: Lei
  fullname: Lei, Yan
  email: yanlei@cqu.edu.cn
  organization: School of Big Data & Software Engineering, Chongqing University,Chongqing,China
– sequence: 4
  givenname: Huan
  surname: Xie
  fullname: Xie, Huan
  email: huanxie@cqu.edu.cn
  organization: School of Big Data & Software Engineering, Chongqing University,Chongqing,China
– sequence: 5
  givenname: Minghua
  surname: Tang
  fullname: Tang, Minghua
  email: minghuatang@stu.kust.edu.cn
  organization: Kunming University of Science and Technology,Kunming,China
– sequence: 6
  givenname: Maojin
  surname: Li
  fullname: Li, Maojin
  email: towellee@cqu.edu.cn
  organization: School of Big Data & Software Engineering, Chongqing University,Chongqing,China
BookMark eNqFi0sKwjAUAJ-i4PcGCrlA60uTfiK4kFJxIS7UvUR5SqRNaqoLby8U964GZpgR9KyzBDDnGHKOanFc74tDglxmYYSRDBFRyQ5MVaoyEaMQmCSiC8MokRikcSoHMGqaB2KEkuMQVjt9odJTrY1fsiM932SvxFpbGntnN-dZ7qralPplnGWF98437NAeE-jfdNnQ9McxzDbFKd8GhojOtTeV9p8zxzhTmRTiT_4CF6I8eQ
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/SANER60148.2024.00094
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library Online
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9798350330663
EISSN 2640-7574
EndPage 871
ExternalDocumentID 10589843
Genre orig-research
GrantInformation_xml – fundername: National Natural Science Foundation of China
  grantid: 62272072
  funderid: 10.13039/501100001809
– fundername: Fundamental Research Funds for the Central Universities
  grantid: 2022CDJDX-005
  funderid: 10.13039/501100012226
GroupedDBID 6IE
6IF
6IK
6IL
6IN
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
JC5
OCL
RIE
RIL
RNS
ID FETCH-ieee_primary_105898433
IEDL.DBID RIE
IngestDate Wed Jul 24 06:48:18 EDT 2024
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-ieee_primary_105898433
ParticipantIDs ieee_primary_10589843
PublicationCentury 2000
PublicationDate 2024-March-12
PublicationDateYYYYMMDD 2024-03-12
PublicationDate_xml – month: 03
  year: 2024
  text: 2024-March-12
  day: 12
PublicationDecade 2020
PublicationTitle 2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)
PublicationTitleAbbrev SANER
PublicationYear 2024
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0020410
Score 3.827522
Snippet Manual fixing of compilation errors could be a tedious and time-consuming task for novice programmers, and even for experienced ones. In recent years, an...
SourceID ieee
SourceType Publisher
StartPage 860
SubjectTerms Accuracy
Codes
compilation errors
Decoding
Labeling
Maintenance engineering
program repair
Semantics
sequence labelling
Vocabulary
Title Labelrepair: Sequence Labelling for Compilation Errors Repair
URI https://ieeexplore.ieee.org/document/10589843
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LS8QwEB7cPXlaHxUfq-TgtTV9phE8iHRZRIrsKuxtaZMpLEortb34603SdhVRkFzCQJIhIUxm8n0zAJcs474UyOyAISoHBV07K2LXjj1RiIJmQSRMts80mj8H96tw1ZPVDRcGEQ34DB3dNX_5shKtDpWpGx7GPA78EYwY5x1Za-td0cClPUXHpfxqeZsmi0jHy5QT6OkU2VQXJv5WQsVYkNkE0mHtDjjy4rRN7oiPH2kZ_63cHlhfZD3yuDVD-7CD5QFMhmoNpL-8h3DzkOX4Wivzs6mvybKHUBMj1Zx0op6vRA_bdPA4ktR1Vb-ThRlhwXSWPN3Nba3S-q3LUbEetPGPYFxWJR4DCRmVHke1_aqhJ7ivzs-PMsyYkFLyE7B-neL0D_kZ7Oqd1YAs15vCuKlbPFcWuskvzMl8Aj82lbU
link.rule.ids 310,311,783,787,792,793,799,27937,55086
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LS8QwEB50PehpfVR8rJqD19a-H4IHkS5Va5HdFfZW2nQWlpVWYnvx15uk7SqiILmEwCRDhjCZ5PtmAC69LLAKip5qe4g8QEFDzRa-ofomXdCFntkuldk-Ezd6sR_mzrwjq0suDCJK8Blqoiv_8ouKNuKpjJ9wxw9829qELX6x9t2WrrWOr3Tb0DuSjqEHV9PbJJy44sWMh4GmSJKti9LE34qoSB8yHkLSr95CR1ZaU-ca_fiRmPHf6u2C8kXXI89rR7QHG1juw7Cv10C643sAN3GW4yvjDmjJrsm0A1ETOSpY6YRfYIkQW7YAORIyVrF3MpESCozG4ewuUoVK6VubpSLttbEOYVBWJR4BcTy9MAPkBuANTRpY3IKWm2Hm0aIogmNQfp3i5I_xC9iOZk9xGt8nj6ewI3ZZwLMMcwSDmjV4xv11nZ9LK30CQpeZAA
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2024+IEEE+International+Conference+on+Software+Analysis%2C+Evolution+and+Reengineering+%28SANER%29&rft.atitle=Labelrepair%3A+Sequence+Labelling+for+Compilation+Errors+Repair&rft.au=Wu%2C+Zhenyu&rft.au=Yang%2C+Deheng&rft.au=Lei%2C+Yan&rft.au=Xie%2C+Huan&rft.date=2024-03-12&rft.pub=IEEE&rft.eissn=2640-7574&rft.spage=860&rft.epage=871&rft_id=info:doi/10.1109%2FSANER60148.2024.00094&rft.externalDocID=10589843