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...
Saved in:
Published in | 2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) pp. 860 - 871 |
---|---|
Main Authors | , , , , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
12.03.2024
|
Subjects | |
Online Access | Get 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 |