DROIDLEAKS
收藏arXiv2016-11-24 更新2024-08-06 收录
下载链接:
http://arxiv.org/abs/1611.08079v1
下载链接
链接失效反馈官方服务:
资源简介:
DROIDLEAKS是一个包含298个真实资源泄露bug的数据集,这些bug来自34个代表性的开源Android应用。数据集涵盖了多种资源类别,包括但不限于数据库、媒体和网络资源。创建过程涉及对大量代码修订的自动挖掘和手动检查,确保了bug的真实性和代表性。该数据集主要用于评估和改进Android应用中的资源管理技术,旨在解决资源泄露导致的性能下降和系统崩溃问题。
DROIDLEAKS is a dataset containing 298 real resource leak bugs sourced from 34 representative open-source Android applications. This dataset covers diverse resource categories, including but not limited to database, media and network resources. The construction of this dataset involves automated mining of a large number of code revisions and manual inspection, ensuring the authenticity and representativeness of the bugs. It is primarily used to evaluate and improve resource management technologies in Android applications, aiming to solve the problems of performance degradation and system crashes caused by resource leaks.
提供机构:
香港科技大学计算机科学与工程系
创建时间:
2016-11-24
搜集汇总
数据集介绍

构建方式
在移动应用资源管理研究领域,构建高质量的基准数据集对于评估资源泄漏检测技术至关重要。DroidLeaks的构建采用了系统化的代码仓库挖掘方法,从F-Droid索引的34个大规模开源Android应用中筛选出符合流行度、可追溯性、活跃维护与代码规模标准的应用作为研究对象。研究团队通过自动化脚本扫描了124,215个代码修订版本,结合针对提交日志与代码差异的两阶段关键词搜索策略,初步筛选出1,811个潜在修订。随后经过数月的精细人工核查,最终从176个修订中确认了298个已修复的资源泄漏缺陷,涵盖37种不同的资源类别,并系统收集了缺陷代码、修复补丁及问题报告等元数据。
特点
该数据集在Android应用资源泄漏研究领域展现出鲜明的特征价值。其核心优势在于缺陷的真实性与多样性,所有298个缺陷均源自实际开发过程中已修复的代码变更,覆盖了从Android平台专属资源到通用Java资源的广泛类别,包括数据库游标、唤醒锁、I/O流等关键资源类型。数据集深入揭示了资源泄漏的根源机制,通过实证研究归纳出复杂的组件生命周期、不可预测的用户交互、环境交互、API不熟悉以及高并发性等五大成因。更值得注意的是,数据集系统化地识别出API误用、资源对象引用丢失与缺乏引用等三类常见缺陷模式,为后续自动化检测工具的设计提供了可直接复用的模式特征。
使用方法
DroidLeaks数据集为资源泄漏研究社区提供了多层次的实用框架。在技术评估层面,研究者可利用该数据集包含的多样化真实缺陷,对静态分析、动态分析等各类资源泄漏检测工具进行系统性基准测试与性能比较,从而客观评估不同技术的优势与局限。在缺陷修复研究领域,数据集提供的人工编写修复补丁可作为自动化程序修复技术的训练样本与验证基准,推动智能补丁生成技术的发展。此外,基于数据集中提炼的常见缺陷模式,开发者可构建轻量级静态分析器或集成开发环境插件,实现对新开发代码的实时模式匹配检测,从而在开发阶段预防同类缺陷的引入。数据集的实际效用已通过案例研究得到验证,基于其模式实现的检测器成功在流行应用中发现了18个新的资源泄漏缺陷。
背景与挑战
背景概述
随着移动应用的普及,Android平台上的资源泄漏问题日益凸显,这类缺陷会导致严重的性能下降和系统崩溃。尽管学术界和工业界已提出多种自动化检测技术,但长期以来缺乏一个公认的基准数据集来有效评估和比较这些方法的优劣。为此,香港科技大学与南京大学的研究团队于近年共同创建了DROIDLEAKS数据集。该数据集通过挖掘34个大型开源Android应用的124,215个代码版本,系统性地收集了298个已修复的真实资源泄漏缺陷,覆盖37种不同的资源类型。DROIDLEAKS的建立填补了该领域基准数据的空白,为资源泄漏检测技术的量化评估与对比研究提供了可靠基础,显著推动了移动应用资源管理领域的发展。
当前挑战
DROIDLEAKS数据集致力于解决Android应用资源泄漏检测这一核心领域问题,其面临的主要挑战在于Android平台特有的复杂性和多样性。资源泄漏可能涉及内存、电量及独占资源(如摄像头)等多种类型,且泄漏路径受到事件驱动模型、复杂组件生命周期、高并发编程及环境交互等多重因素影响,使得缺陷模式难以统一建模。在数据集构建过程中,研究团队需从海量代码修订中精准识别真实泄漏缺陷,这要求设计高效的半自动化挖掘流程,结合关键词搜索与人工验证,并克服因开发文档不全或修复未记录导致的缺陷遗漏问题。此外,确保数据集的代表性与全面性,涵盖不同应用类别与资源类型,亦是构建过程中的关键挑战。
常用场景
经典使用场景
在移动应用开发领域,资源泄漏问题普遍存在且难以根除,DroidLeaks数据集为研究者提供了一个标准化的基准测试平台。该数据集通过挖掘34个大型开源Android应用的代码仓库,收集了298个已修复的资源泄漏缺陷,覆盖了37种不同的资源类别。这些缺陷实例不仅展示了资源泄漏的多样性,还揭示了Android开发中常见的错误模式,为后续研究提供了丰富的实证材料。
实际应用
该数据集在实际开发中具有重要价值,可用于构建自动化检测工具以提升应用质量。基于DroidLeaks中总结的错误模式,研究者开发了静态分析器,成功在多个流行Android应用中发现了新的资源泄漏缺陷。这些工具能够集成到开发流程中,帮助开发者及时识别和修复潜在问题,减少因资源管理不当导致的应用崩溃和用户体验下降。
衍生相关工作
DroidLeaks数据集催生了一系列围绕资源泄漏检测与修复的经典研究。例如,基于该数据集总结的API误用模式,研究者设计了针对数据库游标泄漏的静态检测器;同时,数据集中的缺陷实例也被用于评估和改进现有工具如Facebook Infer和Android Studio内置检查器。这些工作进一步拓展了自动化软件质量保障技术在移动平台的应用范围。
以上内容由遇见数据集搜集并总结生成



