Context: Mobile devices contain some resources, for example, the camera, battery, and memory, that are allocated, used, and then deallocated by mobile applications. Whenever a resource is allocated and not correctly released, a defect called a resource leak occurs, which can cause
[...] Read more.
Context: Mobile devices contain some resources, for example, the camera, battery, and memory, that are allocated, used, and then deallocated by mobile applications. Whenever a resource is allocated and not correctly released, a defect called a resource leak occurs, which can cause crashes and slowdowns.
Objective: In this study, we intended to demonstrate the usefulness of the
LeakPred approach in terms of the number of components with resource leak problems identified in applications.
Method: We compared the approach’s effectiveness with three state-of-the-art methods in identifying leaks in 15 Android applications.
Result:
LeakPred obtained the best median (85.37%) of components with identified leaks, the best coverage (96.15%) of the classes of leaks that could be identified in the applications, and an accuracy of 81.25%. The
Android Lint method achieved the second best median (76.92%) and the highest accuracy (100%), but only covered 1.92% of the leak classes.
Conclusions:
LeakPred is effective in identifying leaky components in applications.
Full article