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