当前位置: X-MOL 学术arXiv.cs.SE › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Automated Repair of Resource Leaks in Android Applications
arXiv - CS - Software Engineering Pub Date : 2020-03-06 , DOI: arxiv-2003.03201
Bhargav Nagaraja Bhatt and Carlo A. Furia

Resource leaks -- a program does not release resources it previously acquired -- are a common kind of bug in Android applications. Even with the help of existing techniques to automatically detect leaks, writing a leak-free program remains tricky. One of the reasons is Android's event-driven programming model, which complicates the understanding of an application's overall control flow. In this paper, we present PlumbDroid: a technique to automatically detect and fix resource leaks in Android applications. PlumbDroid uses static analysis to find execution traces that may leak a resource. The information built for detection also undergirds automatically building a fix -- consisting of release operations performed at appropriate locations -- that removes the leak and does not otherwise affect the application's usage of the resource. An empirical evaluation on resource leaks from the DroidLeaks curated collection demonstrates that PlumbDroid's approach is scalable and produces correct fixes for a variety of resource leak bugs. This indicates it can provide valuable support to enhance the quality of Android applications in practice.

中文翻译:

Android 应用程序中资源泄漏的自动修复

资源泄漏——程序不释放它之前获得的资源——是 Android 应用程序中的一种常见错误。即使借助现有技术自动检测泄漏,编写无泄漏程序仍然很棘手。原因之一是 Android 的事件驱动编程模型,这使得对应用程序整体控制流的理解变得复杂。在本文中,我们介绍了 PlumbDroid:一种自动检测和修复 Android 应用程序中资源泄漏的技术。PlumbDroid 使用静态分析来查找可能泄漏资源的执行跟踪。为检测而构建的信息还支持自动构建修复——包括在适当位置执行的释放操作——消除泄漏并且不会影响应用程序对资源的使用。对来自 DroidLeaks 策划集合的资源泄漏的实证评估表明,PlumbDroid 的方法是可扩展的,并为各种资源泄漏错误提供了正确的修复。这表明它可以在实践中为提高Android应用程序的质量提供有价值的支持。
更新日期:2020-03-09
down
wechat
bug