2015 IEEE/ACM 37th IEEE International Conference on Software Engineering 2015
DOI: 10.1109/icse.2015.64
|View full text |Cite
|
Sign up to set email alerts
|

Safe Memory-Leak Fixing for C Programs

Abstract: Abstract-Automatic bug fixing has become a promising direction for reducing manual effort in debugging. However, general approaches to automatic bug fixing may face some fundamental difficulties. In this paper, we argue that automatic fixing of specific types of bugs can be a useful complement.This paper reports our first attempt towards automatically fixing memory leaks in C programs. Our approach generates only safe fixes, which are guaranteed not to interrupt normal execution of the program. To design such … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
29
0

Year Published

2015
2015
2020
2020

Publication Types

Select...
7
2
1

Relationship

2
8

Authors

Journals

citations
Cited by 56 publications
(29 citation statements)
references
References 51 publications
0
29
0
Order By: Relevance
“…Several approaches target at defect classes where the specification is complete, effectively avoiding the problem of weak test suites [11]. Typical defect classes include memory leaks [43], where the specification is semantically equivalent to the original program without leaks, concurrency bugs [44], [45], [46], where the specification is semantically equivalent to the original program without concurrency bugs, and configuration errors [47], where the specification can be interactively queried from the user. Though these approaches have a high precision, they target totally different defect classes compared with our work.…”
Section: Discussionmentioning
confidence: 99%
“…Several approaches target at defect classes where the specification is complete, effectively avoiding the problem of weak test suites [11]. Typical defect classes include memory leaks [43], where the specification is semantically equivalent to the original program without leaks, concurrency bugs [44], [45], [46], where the specification is semantically equivalent to the original program without concurrency bugs, and configuration errors [47], where the specification can be interactively queried from the user. Though these approaches have a high precision, they target totally different defect classes compared with our work.…”
Section: Discussionmentioning
confidence: 99%
“…Prophet is different from this technique, because Prophet directly learns a probabilistic model from successful human patches and does not rely on the existence of exact defect repair logic on Q&A pages. LeakFix: LeakFix statically analyzes the application source code and automatically inserts deallocation statements to fix memory leak errors in an applicaiton [9]. It guarantees that the new inserted deallocation will not interfere with normal executions.…”
Section: Automatic Patch Generationmentioning
confidence: 99%
“…It discards writing via null-references and returns zero as the result of divides-by-zero. LeakFix can correct memory leak by insert free-memory statements safely [9]. It analyzes memory allocations to guarantee that the patch will not interrupt normal execution of the program.…”
Section: Related Workmentioning
confidence: 99%