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

**Authors:** Jingwen Zhao, Yanxia Wu, Yan Fu, Shuyong Liu

PMC · DOI: 10.3390/e27030294 · Entropy · 2025-03-12

## TL;DR

ESfix is a tool for fixing concurrency defects in embedded programs by reducing system entropy and improving reliability.

## Contribution

ESfix introduces novel repair strategies for concurrency defects using entropy analysis and semantic preservation.

## Key findings

- ESfix reduces system entropy by optimizing interrupt and lock strategies for concurrency defects.
- The tool successfully repairs atomicity violations using reordering strategies while preserving code semantics.
- Experimental results show ESfix improves performance and reduces potential risks in embedded software.

## Abstract

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.

## Full-text entities

- **Diseases:** Concurrency Defects (MESH:D000013)

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/PMC11941405/full.md

## Figures

8 figures with captions in the complete paper: https://tomesphere.com/paper/PMC11941405/full.md

## References

48 references — full list in the complete paper: https://tomesphere.com/paper/PMC11941405/full.md

---
Source: https://tomesphere.com/paper/PMC11941405