从源代码到测试用例:Android应用程序中资源泄漏检测的全面基准。

IF 2.6 4区 计算机科学 Q2 COMPUTER SCIENCE, SOFTWARE ENGINEERING
Software-Practice & Experience Pub Date : 2019-03-01 Epub Date: 2018-12-13 DOI:10.1002/spe.2672
Oliviero Riganelli, Daniela Micucci, Leonardo Mariani
{"title":"从源代码到测试用例:Android应用程序中资源泄漏检测的全面基准。","authors":"Oliviero Riganelli,&nbsp;Daniela Micucci,&nbsp;Leonardo Mariani","doi":"10.1002/spe.2672","DOIUrl":null,"url":null,"abstract":"<p><p>Android apps share resources, such as sensors, cameras, and Global Positioning System, that are subject to specific usage policies whose correct implementation is left to programmers. Failing to satisfy these policies may cause resource leaks, that is, apps may acquire but never release resources. This might have different kinds of consequences, such as apps that are unable to use resources or resources that are unnecessarily active wasting battery. Researchers have proposed several techniques to detect and fix resource leaks. However, the unavailability of public benchmarks of faulty apps makes comparison between techniques difficult, if not impossible, and forces researchers to build their own data set to verify the effectiveness of their techniques (thus, making their work burdensome). The aim of our work is to define a public benchmark of Android apps affected by resource leaks. The resulting benchmark, called AppLeak, is publicly available on GitLab and includes faulty apps, versions with bug fixes (when available), test cases to automatically reproduce the leaks, and additional information that may help researchers in their tasks. Overall, the benchmark includes a body of 40 faults that can be exploited to evaluate and compare both static and dynamic analysis techniques for resource leak detection.</p>","PeriodicalId":49504,"journal":{"name":"Software-Practice & Experience","volume":null,"pages":null},"PeriodicalIF":2.6000,"publicationDate":"2019-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1002/spe.2672","citationCount":"8","resultStr":"{\"title\":\"From source code to test cases: A comprehensive benchmark for resource leak detection in Android apps.\",\"authors\":\"Oliviero Riganelli,&nbsp;Daniela Micucci,&nbsp;Leonardo Mariani\",\"doi\":\"10.1002/spe.2672\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<p><p>Android apps share resources, such as sensors, cameras, and Global Positioning System, that are subject to specific usage policies whose correct implementation is left to programmers. Failing to satisfy these policies may cause resource leaks, that is, apps may acquire but never release resources. This might have different kinds of consequences, such as apps that are unable to use resources or resources that are unnecessarily active wasting battery. Researchers have proposed several techniques to detect and fix resource leaks. However, the unavailability of public benchmarks of faulty apps makes comparison between techniques difficult, if not impossible, and forces researchers to build their own data set to verify the effectiveness of their techniques (thus, making their work burdensome). The aim of our work is to define a public benchmark of Android apps affected by resource leaks. The resulting benchmark, called AppLeak, is publicly available on GitLab and includes faulty apps, versions with bug fixes (when available), test cases to automatically reproduce the leaks, and additional information that may help researchers in their tasks. Overall, the benchmark includes a body of 40 faults that can be exploited to evaluate and compare both static and dynamic analysis techniques for resource leak detection.</p>\",\"PeriodicalId\":49504,\"journal\":{\"name\":\"Software-Practice & Experience\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":2.6000,\"publicationDate\":\"2019-03-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1002/spe.2672\",\"citationCount\":\"8\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Software-Practice & Experience\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://doi.org/10.1002/spe.2672\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"2018/12/13 0:00:00\",\"PubModel\":\"Epub\",\"JCR\":\"Q2\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Software-Practice & Experience","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1002/spe.2672","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2018/12/13 0:00:00","PubModel":"Epub","JCR":"Q2","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 8

摘要

安卓应用程序共享资源,如传感器、摄像头和全球定位系统,这些资源受特定使用策略的约束,其正确实施留给程序员。不满足这些政策可能会导致资源泄漏,也就是说,应用程序可能会获取但永远不会释放资源。这可能会产生不同类型的后果,例如无法使用资源的应用程序或不必要的活动资源浪费电池。研究人员提出了几种检测和修复资源泄漏的技术。然而,由于没有故障应用程序的公共基准,即使不是不可能,也很难对技术进行比较,并迫使研究人员建立自己的数据集来验证技术的有效性(因此,他们的工作变得繁重)。我们工作的目的是为受资源泄露影响的安卓应用程序定义一个公共基准。由此产生的基准测试名为AppLeak,可在GitLab上公开获得,包括有缺陷的应用程序、有错误修复的版本(如果可用)、自动复制泄漏的测试用例,以及可能帮助研究人员完成任务的其他信息。总体而言,该基准包括40个故障,可用于评估和比较资源泄漏检测的静态和动态分析技术。
本文章由计算机程序翻译,如有差异,请以英文原文为准。

From source code to test cases: A comprehensive benchmark for resource leak detection in Android apps.

From source code to test cases: A comprehensive benchmark for resource leak detection in Android apps.

Android apps share resources, such as sensors, cameras, and Global Positioning System, that are subject to specific usage policies whose correct implementation is left to programmers. Failing to satisfy these policies may cause resource leaks, that is, apps may acquire but never release resources. This might have different kinds of consequences, such as apps that are unable to use resources or resources that are unnecessarily active wasting battery. Researchers have proposed several techniques to detect and fix resource leaks. However, the unavailability of public benchmarks of faulty apps makes comparison between techniques difficult, if not impossible, and forces researchers to build their own data set to verify the effectiveness of their techniques (thus, making their work burdensome). The aim of our work is to define a public benchmark of Android apps affected by resource leaks. The resulting benchmark, called AppLeak, is publicly available on GitLab and includes faulty apps, versions with bug fixes (when available), test cases to automatically reproduce the leaks, and additional information that may help researchers in their tasks. Overall, the benchmark includes a body of 40 faults that can be exploited to evaluate and compare both static and dynamic analysis techniques for resource leak detection.

求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
Software-Practice & Experience
Software-Practice & Experience 工程技术-计算机:软件工程
CiteScore
8.00
自引率
8.60%
发文量
107
审稿时长
6 months
期刊介绍: Software: Practice and Experience is an internationally respected and rigorously refereed vehicle for the dissemination and discussion of practical experience with new and established software for both systems and applications. Articles published in the journal must be directly relevant to the design and implementation of software at all levels, from a useful programming technique all the way up to a large scale software system. As the journal’s name suggests, the focus is on practice and experience with software itself. The journal cannot and does not attempt to cover all aspects of software engineering. The key criterion for publication of a paper is that it makes a contribution from which other persons engaged in software design and implementation might benefit. Originality is also important. Exceptions can be made, however, for cases where apparently well-known techniques do not appear in the readily available literature. Contributions regularly: Provide detailed accounts of completed software-system projects which can serve as ‘how-to-do-it’ models for future work in the same field; Present short reports on programming techniques that can be used in a wide variety of areas; Document new techniques and tools that aid in solving software construction problems; Explain methods/techniques that cope with the special demands of large-scale software projects. However, software process and management of software projects are topics deemed to be outside the journal’s scope. The emphasis is always on practical experience; articles with theoretical or mathematical content are included only in cases where an understanding of the theory will lead to better practical systems. If it is unclear whether a manuscript is appropriate for publication in this journal, the list of referenced publications will usually provide a strong indication. When there are no references to Software: Practice and Experience papers (or to papers in a journal with a similar scope such as JSS), it is quite likely that the manuscript is not suited for this journal. Additionally, one of the journal’s editors can be contacted for advice on the suitability of a particular topic.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信