Debugging Memory Issues In Embedded Linux: A Case Study
Partha Pratim Ray, Ansuman Banerjee

TL;DR
This paper presents a methodology for debugging memory errors in embedded Linux systems, specifically in BusyBox, using Valgrind and Daikon to identify root causes of runtime errors.
Contribution
It introduces a novel debugging approach combining Valgrind and Daikon tailored for embedded Linux software like BusyBox.
Findings
Successfully identified memory errors in BusyBox
Demonstrated effectiveness of combined Valgrind and Daikon approach
Provided insights into debugging embedded Linux applications
Abstract
Debugging denotes the process of detecting root causes of unexpected observable behaviors in programs, such as a program crash, an unexpected output value being produced or an assertion violation. Debugging of program errors is a difficult task and often takes a significant amount of time in the software development life cycle. In the context of embedded software, the probability of bugs is quite high. Due to requirements of low code size and less resource consumption, embedded softwares typically do away with a lot of sanity checks during development time. This leads to high chance of errors being uncovered in the production code at run time. In this paper we propose a methodology for debugging errors in BusyBox, a de-facto standard for Linux in embedded systems. Our methodology works on top of Valgrind, a popular memory error detector and Daikon, an invariant analyzer. We have…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
