ESfix: An Embedded Program Repair Tool for Effective Removal of Concurrency Defects

Embedded programs are not only inseparable from our daily lives but are also widely used in aerospace, medical devices, and other fields that require very high security and stability. The uncertainty and randomness of the large amount of data generated by these systems during operation can be quanti...

Full description

Saved in:
Bibliographic Details
Main Authors: Jingwen Zhao, Yanxia Wu, Yan Fu, Shuyong Liu
Format: Article
Language:English
Published: MDPI AG 2025-03-01
Series:Entropy
Subjects:
Online Access:https://www.mdpi.com/1099-4300/27/3/294
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1850090863852519424
author Jingwen Zhao
Yanxia Wu
Yan Fu
Shuyong Liu
author_facet Jingwen Zhao
Yanxia Wu
Yan Fu
Shuyong Liu
author_sort Jingwen Zhao
collection DOAJ
description Embedded programs are not only inseparable from our daily lives but are also widely used in aerospace, medical devices, and other fields that require very high security and stability. The uncertainty and randomness of the large amount of data generated by these systems during operation can be quantified by entropy. Traditional repair methods for concurrency defects may introduce new issues such as deadlocks, original semantic destruction, and high performance overhead. To overcome the limitations of the existing methods and help developers reduce the time and effort spent on fixing software defects, this paper proposes ESfix, a defect fixing technique applied to embedded software. ESfix first utilizes the bug information reported by the defect detection tool to locate the repair region and extracts the node information corresponding to the defective code. Then, ESfix optimizes the interrupt disable/enable strategies and lock strategies to repair data race and reduce bugs in information transmission, thereby reducing system entropy and improving data certainty and reliability. Finally, ESfix repairs atomicity violation defects using the reordering repair strategy, reducing information entropy by adjusting the order of information to ensure its integrity and consistency. ESfix conducts semantic analysis by analyzing the dependency graph in the control flow graph (CFG) to ensure that no new defects are introduced during the repair process, and to maintain the efficiency and accuracy of information transmission between different parts of the code. We evaluate the effectiveness of repair strategies through information entropy, and the experimental results show that ESfix not only improves performance but also reduces potential risks and losses.
format Article
id doaj-art-bf78e828ab764fb399a35963de3eac3d
institution DOAJ
issn 1099-4300
language English
publishDate 2025-03-01
publisher MDPI AG
record_format Article
series Entropy
spelling doaj-art-bf78e828ab764fb399a35963de3eac3d2025-08-20T02:42:29ZengMDPI AGEntropy1099-43002025-03-0127329410.3390/e27030294ESfix: An Embedded Program Repair Tool for Effective Removal of Concurrency DefectsJingwen Zhao0Yanxia Wu1Yan Fu2Shuyong Liu3College of Computer Science and Technology, Harbin Engineering University, Nantong Street, Harbin 150001, ChinaCollege of Computer Science and Technology, Harbin Engineering University, Nantong Street, Harbin 150001, ChinaCollege of Computer Science and Technology, Harbin Engineering University, Nantong Street, Harbin 150001, ChinaCollege of Computer Science and Technology, Harbin Engineering University, Nantong Street, Harbin 150001, ChinaEmbedded programs are not only inseparable from our daily lives but are also widely used in aerospace, medical devices, and other fields that require very high security and stability. The uncertainty and randomness of the large amount of data generated by these systems during operation can be quantified by entropy. Traditional repair methods for concurrency defects may introduce new issues such as deadlocks, original semantic destruction, and high performance overhead. To overcome the limitations of the existing methods and help developers reduce the time and effort spent on fixing software defects, this paper proposes ESfix, a defect fixing technique applied to embedded software. ESfix first utilizes the bug information reported by the defect detection tool to locate the repair region and extracts the node information corresponding to the defective code. Then, ESfix optimizes the interrupt disable/enable strategies and lock strategies to repair data race and reduce bugs in information transmission, thereby reducing system entropy and improving data certainty and reliability. Finally, ESfix repairs atomicity violation defects using the reordering repair strategy, reducing information entropy by adjusting the order of information to ensure its integrity and consistency. ESfix conducts semantic analysis by analyzing the dependency graph in the control flow graph (CFG) to ensure that no new defects are introduced during the repair process, and to maintain the efficiency and accuracy of information transmission between different parts of the code. We evaluate the effectiveness of repair strategies through information entropy, and the experimental results show that ESfix not only improves performance but also reduces potential risks and losses.https://www.mdpi.com/1099-4300/27/3/294program repairrepair strategystatic analysissemantic analysisinformation entropy
spellingShingle Jingwen Zhao
Yanxia Wu
Yan Fu
Shuyong Liu
ESfix: An Embedded Program Repair Tool for Effective Removal of Concurrency Defects
Entropy
program repair
repair strategy
static analysis
semantic analysis
information entropy
title ESfix: An Embedded Program Repair Tool for Effective Removal of Concurrency Defects
title_full ESfix: An Embedded Program Repair Tool for Effective Removal of Concurrency Defects
title_fullStr ESfix: An Embedded Program Repair Tool for Effective Removal of Concurrency Defects
title_full_unstemmed ESfix: An Embedded Program Repair Tool for Effective Removal of Concurrency Defects
title_short ESfix: An Embedded Program Repair Tool for Effective Removal of Concurrency Defects
title_sort esfix an embedded program repair tool for effective removal of concurrency defects
topic program repair
repair strategy
static analysis
semantic analysis
information entropy
url https://www.mdpi.com/1099-4300/27/3/294
work_keys_str_mv AT jingwenzhao esfixanembeddedprogramrepairtoolforeffectiveremovalofconcurrencydefects
AT yanxiawu esfixanembeddedprogramrepairtoolforeffectiveremovalofconcurrencydefects
AT yanfu esfixanembeddedprogramrepairtoolforeffectiveremovalofconcurrencydefects
AT shuyongliu esfixanembeddedprogramrepairtoolforeffectiveremovalofconcurrencydefects