Static detection of dynamic memory errors
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
A static analyzer for finding dynamic programming errors
Software—Practice & Experience
ESP: path-sensitive program verification in polynomial time
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
A practical flow-sensitive and context-sensitive C and C++ memory leak detector
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Static analysis for bug finding in systems software
Static analysis for bug finding in systems software
Finding and preventing run-time error handling mistakes
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Region-based shape analysis with tracked locations
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Context- and path-sensitive memory leak detection
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
Static detection of leaks in polymorphic containers
Proceedings of the 28th international conference on Software engineering
Saturn: A scalable framework for error detection using Boolean satisfiability
ACM Transactions on Programming Languages and Systems (TOPLAS) - Special issue on POPL 2005
Practical memory leak detection using guarded value-flow analysis
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
A System to Generate Test Data and Symbolically Execute Programs
IEEE Transactions on Software Engineering
Using Static Analysis to Find Bugs
IEEE Software
Effective interprocedural resource leak detection
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Detecting resource leaks through dynamical mining of resource usage patterns
DSNW '11 Proceedings of the 2011 IEEE/IFIP 41st International Conference on Dependable Systems and Networks Workshops
Memory leak analysis by contradiction
SAS'06 Proceedings of the 13th international conference on Static Analysis
Hi-index | 0.00 |
In this paper, we present a new tool, RL_Detector, which performs static analysis to detect resource leaks for C programs. The algorithm is inter-procedural and path-sensitive, and it is based on an underlying resource management property: the data flow from resource allocation point must reach resource deallocation point, otherwise the resource is leaked. For each resource, it symbolically executes the program to collect the constraints of all the paths and recorded as some sets. Then the data flow condition can be computed through these sets of all the paths. Finally, the resource leak detection is reduced to the satisfiability of DFC (the Data Flow Condition). It has been effective at detecting resource leak in the SPEC2000 benchmarks and in an open source software project, the actual test results show that the tool keeps the false positive rate below 10% and works on millions of lines of code in a matter of minutes.