Automated memory corruption detection through analysis of static variables and dynamic memory usage

Jihyun Park, Byoungju Choi, Yeonhee Kim

Research output: Contribution to journalArticlepeer-review

2 Scopus citations

Abstract

Various methods for memory fault detection have been developed through continuous study. However, many memory defects remain that are difficult to resolve. Memory corruption is one such defect, and can cause system crashes, making debugging important. However, the locations of the system crash and the actual source of the memory corruption often differ, which makes it difficult to solve these defects using the existing methods. In this paper, we propose a method that detects memory defects in which the location causing the defect is different from the actual location, providing useful information for debugging. This study presents a method for the real-time detection of memory defects in software based on data obtained through static and dynamic analysis. The data we used for memory defect analysis were (1) information of static global variables (data, address, size) derived through the analysis of executable binary files, and (2) dynamic memory usage information obtained by tracking memory-related functions that are called during the real-time execution of the process. We implemented the proposed method as a tool and applied it to applications running on the Linux. The results indicate the defect-detection efficacy of our tool for this application. Our method accurately detects defects with different cause and detected-fault locations, and also requires a very low overhead for fault detection.

Original languageEnglish
Article number2127
JournalElectronics (Switzerland)
Volume10
Issue number17
DOIs
StatePublished - 1 Sep 2021

Bibliographical note

Publisher Copyright:
© 2021 by the authors. Licensee MDPI, Basel, Switzerland.

Keywords

  • Fault detection
  • Memory corruption detection
  • Memory fault detection
  • Real-time fault detection
  • Software debugging

Fingerprint

Dive into the research topics of 'Automated memory corruption detection through analysis of static variables and dynamic memory usage'. Together they form a unique fingerprint.

Cite this