Publication | Closed Access
Practical memory leak detection using guarded value-flow analysis
168
Citations
21
References
2007
Year
Unknown Venue
EngineeringInformation SecurityComputer ArchitectureSoftware EngineeringSoftware AnalysisFormal VerificationHardware SecurityStatic CheckingMemory ManagementLeakage (Machine Learning)Memory Leak AnalysisRuntime VerificationValue-flow AnalysisMemory AnalysisComputer EngineeringComputer ScienceStatic Program AnalysisMemory LeaksData SecuritySparse RepresentationProgram AnalysisSoftware TestingParallel ProgrammingGarbage CollectionSystem Software
This paper presents a practical inter-procedural analysis algorithm for detecting memory leaks in C programs. Our algorithm tracks the flow of values from allocation points to deallocation points using a sparse representation of the program consisting of a value flow graph that captures def-use relations and value flows via program assignments. Edges in the graph are annotated with guards that describe branch conditions in the program. The memory leak analysis is reduced to a reachability problem over the guarded value flowgraph. Our implemented tool has been effective at detecting more than 60 memory leaks in the SPEC2000 benchmarks and in two open-source applications, bash and sshd, while keeping the false positive rate below 20%. The sparse program representation makes the tool efficient in practice, and allows it to report concise error messages.
| Year | Citations | |
|---|---|---|
Page 1
Page 1