Title :
Source Code Annotated Memory Leak Detection for Soft Real Time Embedded Systems with Resource Constraints
Author :
Joy, Mabel Mary ; Mueller, Wolfgang ; Rammig, Franz Josef
Author_Institution :
C-Lab., Univ. of Paderborn, Paderborn, Germany
Abstract :
With ever increasing complexity of software and increased competition in the market, it is very important to minimize the production to market delivery time. Early phase detection of serious errors in the design and program can be done with automated approaches which save time. Memory leaks are the most important memory related problems which are severe threats to software applications. We propose a novel hybrid automated source code annotated memory leak detection approach for soft real time embedded system software with no garbage collection. We utilize our source code annotation tool to detect the potential memory leak candidates, which are further analyzed in our hybrid leak detection approach. The control flow graph of the source code generated with our annotation tool provides information of all execution paths, where the basic blocks are annotated with specific marks. Our hybrid method combines static and dynamic approaches. Static phase of the hybrid approach detect the potential leak candidates from the control flow graph. Dynamic phase filters false positives from the static phase results and provide results on the actual leaks. In early design stages where a real execution environment and complete executable software are unavailable, a simulation environment and a virtual platform are necessary. Virtual platforms provide flexibility to change the target architecture to be tested. Our proposed dynamic phase of the approach runs on the virtual memory model platform we implemented in SystemC at an abstract level using Transaction Level Modeling. The software under test is run on top of this model. This makes our approach faster and provides early results. Our approach can be easily deployed across a variety of architectures as it is compiler independent and does not implement any architecture specific features. Moreover the automated approach provides an efficient methodology to determine potential leaks in early phases of software development.
Keywords :
C language; program testing; software architecture; source code (software); transaction processing; virtual storage; SystemC; abstract level; annotated memory leak detection approach; architecture specific feature; control flow graph; delivery time; dynamic phase filters false positives; executable software; execution environment; garbage collection; hybrid automated source code; hybrid leak detection approach; memory leak candidate; phase detection; resource constraint; simulation environment; soft real time embedded system software; software development; software under test; source code annotated memory leak detection; source code annotation tool; source code generation; static phase; target architecture; transaction level modeling; virtual memory model platform; virtual platform; Leak detection; Memory management; Pattern matching; Real-time systems; Resource management; Software; Hybrid leak detection; Memory leak; Soft real time system; Source code annotation; Virtual memory model;
Conference_Titel :
Dependable, Autonomic and Secure Computing (DASC), 2014 IEEE 12th International Conference on
Conference_Location :
Dalian
Print_ISBN :
978-1-4799-5078-2
DOI :
10.1109/DASC.2014.38