{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,12]],"date-time":"2026-07-12T03:11:51Z","timestamp":1783825911019,"version":"3.55.0"},"reference-count":45,"publisher":"Springer Science and Business Media LLC","issue":"6","license":[{"start":{"date-parts":[[2019,5,16]],"date-time":"2019-05-16T00:00:00Z","timestamp":1557964800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2019,5,16]],"date-time":"2019-05-16T00:00:00Z","timestamp":1557964800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2019,12]]},"DOI":"10.1007\/s10664-019-09715-8","type":"journal-article","created":{"date-parts":[[2019,5,16]],"date-time":"2019-05-16T01:35:22Z","timestamp":1557970522000},"page":"3435-3483","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":30,"title":["DroidLeaks: a comprehensive database of resource leaks in Android apps"],"prefix":"10.1007","volume":"24","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-8147-8126","authenticated-orcid":false,"given":"Yepang","family":"Liu","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jue","family":"Wang","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Lili","family":"Wei","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Chang","family":"Xu","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Shing-Chi","family":"Cheung","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Tianyong","family":"Wu","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jun","family":"Yan","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jian","family":"Zhang","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2019,5,16]]},"reference":[{"key":"9715_CR1","doi-asserted-by":"crossref","unstructured":"Amann S, Nadi S, Nguyen HA, Nguyen TN, Mezini M (2016) Mubench: a benchmark for api-misuse detectors. In: Proceedings of the 2016 IEEE\/ACM 13th working conference on mining software repositories (MSR), pp 464\u2013467","DOI":"10.1145\/2901739.2903506"},{"key":"9715_CR2","unstructured":"Android ANR Errors (2018) \nhttps:\/\/developer.android.com\/training\/articles\/perf-anr.html"},{"key":"9715_CR3","unstructured":"Android API Guides (2018) \nhttps:\/\/developer.android.com\/guide\/"},{"key":"9715_CR4","unstructured":"Android Processes and Threads (2018) \nhttps:\/\/developer.android.com\/guide\/components\/processes-and-threads.html"},{"issue":"1","key":"9715_CR5","doi-asserted-by":"publisher","first-page":"2:1","DOI":"10.1145\/2063239.2063241","volume":"21","author":"M Arnold","year":"2011","unstructured":"Arnold M, Vechev M, Yahav E (2011) Qvm: an efficient runtime for detecting defects in deployed systems. ACM Trans Softw Eng Methodol 21(1):2:1\u20132:35","journal-title":"ACM Trans Softw Eng Methodol"},{"key":"9715_CR6","doi-asserted-by":"crossref","unstructured":"Arzt S, Rasthofer S, Fritz C, Bodden E, Bartel A, Klein J, Le Traon Y, Octeau D, McDaniel P (2014) Flowdroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for android apps. In: Proceedings of the 35th ACM SIGPLAN conference on programming language design and implementation, PLDI \u201914, pp 259\u2013269","DOI":"10.1145\/2666356.2594299"},{"issue":"5","key":"9715_CR7","doi-asserted-by":"publisher","first-page":"470","DOI":"10.1109\/TSE.2017.2689012","volume":"44","author":"A Banerjee","year":"2018","unstructured":"Banerjee A, Chong LK, Ballabriga C, Roychoudhury A (2018) Energypatch: repairing resource leaks to improve energy-efficiency of android apps. IEEE Trans Softw Eng 44(5):470\u2013490","journal-title":"IEEE Trans Softw Eng"},{"key":"9715_CR8","unstructured":"Bond MD, McKinley KS (2006) Bell: bit-encoding online memory leak detection. In: Proceedings of the 12th international conference on architectural support for programming languages and operating systems, ASPLOS XII, pp 61\u201372"},{"key":"9715_CR9","doi-asserted-by":"crossref","unstructured":"Cabral B, Marques P (2007) Exception handling: a field study in java and .net. In: Proceedings of the 21st European conference on object-oriented programming, pp 151\u2013175","DOI":"10.1007\/978-3-540-73589-2_8"},{"key":"9715_CR10","doi-asserted-by":"crossref","unstructured":"Dallmeier V, Zimmermann T (2007) Extraction of bug localization benchmarks from history. In: Proceedings of the twenty-second IEEE\/ACM international conference on automated software engineering, ASE \u201907, pp 433\u2013436","DOI":"10.1145\/1321631.1321702"},{"key":"9715_CR11","doi-asserted-by":"crossref","unstructured":"Dillig I, Dillig T, Yahav E, Chandra S (2008) The closer: automating resource management in java. In: Proceedings of the 7th international symposium on memory management, ISMM \u201908, pp 1\u201310","DOI":"10.1145\/1375634.1375636"},{"issue":"4","key":"9715_CR12","doi-asserted-by":"publisher","first-page":"405","DOI":"10.1007\/s10664-005-3861-2","volume":"10","author":"H Do","year":"2005","unstructured":"Do H, Elbaum S, Rothermel G (2005) Supporting controlled experimentation with testing techniques: an infrastructure and its potential impact. Empirical Softw Engg 10(4):405\u2013435","journal-title":"Empirical Softw Engg"},{"key":"9715_CR13","unstructured":"F-Droid (2018) A catalogue of open-source android apps. \nhttps:\/\/f-droid.org\/"},{"key":"9715_CR14","unstructured":"Facebook (2018) Infer: a tool to detect bugs in java and C\/C++\/Objective-C code. \nhttp:\/\/fbinfer.com\/"},{"key":"9715_CR15","doi-asserted-by":"crossref","unstructured":"Felt AP, Chin E, Hanna S, Song D, Wagner D (2011) Android permissions demystified. In: Proceedings of the 18th ACM conference on computer and communications security, CCS \u201911, pp 627\u2013638","DOI":"10.1145\/2046707.2046779"},{"key":"9715_CR16","unstructured":"Google (2018a) Android lint: a code scanning tool for android apps. \nhttps:\/\/developer.android.com\/studio\/write\/lint.html"},{"key":"9715_CR17","unstructured":"Google (2018b) Android studio. \nhttps:\/\/developer.android.com\/studio\/index.html"},{"key":"9715_CR18","doi-asserted-by":"crossref","unstructured":"Guo C, Zhang J, Yan J, Zhang Z, Zhang Y (2013) Characterizing and detecting resource leaks in android applications. In: Proceedings of the 28th IEEE\/ACM international conference on automated software engineering (ASE), pp 389\u2013398","DOI":"10.1109\/ASE.2013.6693097"},{"key":"9715_CR19","doi-asserted-by":"crossref","unstructured":"Hauswirth M, Chilimbi TM (2004) Low-overhead memory leak detection using adaptive statistical profiling. In: Proceedings of the 11th international conference on architectural support for programming languages and operating systems, ASPLOS XI, pp 156\u2013164","DOI":"10.1145\/1024393.1024412"},{"issue":"12","key":"9715_CR20","doi-asserted-by":"publisher","first-page":"92","DOI":"10.1145\/1052883.1052895","volume":"39","author":"D Hovemeyer","year":"2004","unstructured":"Hovemeyer D, Pugh W (2004) Finding bugs is easy. SIGPLAN Not 39 (12):92\u2013106. ISSN 0362-1340","journal-title":"SIGPLAN Not"},{"key":"9715_CR21","doi-asserted-by":"crossref","unstructured":"Hutchins M, Foster H, Goradia T, Ostrand T (1994) Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria. In: Proceedings of 16th international conference on software engineering, pp 191\u2013200","DOI":"10.1109\/ICSE.1994.296778"},{"key":"9715_CR22","unstructured":"Jalbert N, Pereira C, Pokam G, Sen K (2011) Radbench: a concurrency bug benchmark suite. In: Proceedings of the 3rd USENIX conference on hot topic in parallelism, HotPar\u201911, pp 2\u20132"},{"key":"9715_CR23","unstructured":"Java API Specifications (2018) \nhttps:\/\/docs.oracle.com\/javase\/7\/docs\/api\/"},{"key":"9715_CR24","unstructured":"JetBrains (2018) Code inspection in IntelliJ IDEA. \nhttps:\/\/www.jetbrains.com\/help\/idea\/2016.3\/code-inspection.html"},{"key":"9715_CR25","doi-asserted-by":"crossref","unstructured":"Jump M, McKinley KS (2007) Cork: dynamic memory leak detection for garbage-collected languages. In: Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on principles of programming languages, POPL \u201907, pp 31\u201338","DOI":"10.1145\/1190216.1190224"},{"key":"9715_CR26","doi-asserted-by":"crossref","unstructured":"Just R, Jalali D, Ernst MD (2014) Defects4j: a database of existing faults to enable controlled testing studies for java programs. In: Proceedings of the 2014 international symposium on software testing and analysis, ISSTA 2014, pp 437\u2013440","DOI":"10.1145\/2610384.2628055"},{"key":"9715_CR27","doi-asserted-by":"crossref","unstructured":"Lin Y, Radoi C, Dig D (2014) Retrofitting concurrency for android applications through refactoring. In: Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering, FSE 2014, pp 341\u2013352","DOI":"10.1145\/2635868.2635903"},{"issue":"C","key":"9715_CR28","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/j.jss.2017.04.018","volume":"130","author":"M Linares-V\u00e1squez","year":"2017","unstructured":"Linares-V\u00e1squez M, Vendome C, Tufano M, Poshyvanyk D (2017) How developers micro-optimize android apps. J Syst Softw 130(C):1\u201323","journal-title":"J Syst Softw"},{"issue":"9","key":"9715_CR29","doi-asserted-by":"publisher","first-page":"911","DOI":"10.1109\/TSE.2014.2323982","volume":"40","author":"Y Liu","year":"2014","unstructured":"Liu Y, Xu C, Cheung SC, L\u00fc J (2014) Greendroid : automated diagnosis of energy inefficiency for smartphone applications. IEEE Trans Softw Eng 40(9):911\u2013940","journal-title":"IEEE Trans Softw Eng"},{"key":"9715_CR30","doi-asserted-by":"crossref","unstructured":"Liu J, Wu T, Yan J, Zhang J (2016a) Fixing resource leaks in android apps with light-weight static analysis and low-overhead instrumentation. In: 2016 IEEE 27th international symposium on software reliability engineering (ISSRE), pp 342\u2013352","DOI":"10.1109\/ISSRE.2016.15"},{"key":"9715_CR31","doi-asserted-by":"crossref","unstructured":"Liu Y, Xu C, Cheung S-C, Terragni V (2016b) Understanding and detecting wake lock misuses for android applications. In: Proceedings of the 2016 24th ACM SIGSOFT international symposium on foundations of software engineering, FSE 2016, pp 396\u2013409","DOI":"10.1145\/2950290.2950297"},{"issue":"1 and 2","key":"9715_CR32","first-page":"22","volume":"11","author":"J Lovins","year":"1968","unstructured":"Lovins J (1968) Development of a stemming algorithm. Mechanical Translation and Computational Linguistics 11(1 and 2):22\u201331","journal-title":"Mechanical Translation and Computational Linguistics"},{"key":"9715_CR33","unstructured":"Lu S, Li Z, Qin F, Tan L, Zhou P, Zhou Y (2005) Bugbench: benchmarks for evaluating bug detection tools. In: Proceedings of the workshop on the evaluation of software defect detection tools"},{"key":"9715_CR34","doi-asserted-by":"publisher","first-page":"351","DOI":"10.1007\/978-3-540-45070-2_16","volume-title":"ECOOP 2003 \u2013 Object-Oriented Programming","author":"Nick Mitchell","year":"2003","unstructured":"Mitchell N, Sevitsky G (2003) Leakbot: an automated and lightweight tool for diagnosing memory leaks in large java applications. In: Proceedings of the 17th European conference on object-oriented programming, pp 351\u2013377"},{"key":"9715_CR35","doi-asserted-by":"crossref","unstructured":"Pathak A, Jindal A, Hu YC, Midkiff SP (2012) What is keeping my phone awake?: characterizing and detecting no-sleep energy bugs in smartphone apps. In: Proceedings of the 10th international conference on mobile systems, applications, and services, MobiSys \u201912, pp 267\u2013280","DOI":"10.1145\/2307636.2307661"},{"key":"9715_CR36","unstructured":"PMD (2018) A java source code analyzer. \nhttp:\/\/pmd.sourceforge.net\/"},{"key":"9715_CR37","unstructured":"Soot (2018) A framework for analyzing and transforming java and android apps. \nhttp:\/\/sable.github.io\/soot\/"},{"key":"9715_CR38","doi-asserted-by":"crossref","unstructured":"Torlak E, Chandra S (2010) Effective interprocedural resource leak detection. In: Proceedings of the 32nd ACM\/IEEE international conference on software engineering - volume 1, ICSE \u201910. ISBN 978-1-60558-719-6, pp 535\u2013544","DOI":"10.1145\/1806799.1806876"},{"key":"9715_CR39","unstructured":"Vekris P, Jhala R, Lerner S, Agarwal Y (2012) Towards verifying android apps for the absence of no-sleep energy bugs. In: Proceedings of the 2012 USENIX conference on power-aware computing and systems, HotPower\u201912, pp 3\u20133"},{"key":"9715_CR40","doi-asserted-by":"crossref","unstructured":"Weimer W, Necula GC (2004) Finding and preventing run-time error handling mistakes. In: Proceedings of the 19th annual ACM SIGPLAN conference on object-oriented programming, systems languages, and applications, OOPSLA \u201904, pp 419\u2013431","DOI":"10.1145\/1028976.1029011"},{"key":"9715_CR41","doi-asserted-by":"crossref","unstructured":"Wu H, Wang Yan, Rountev A (2018) Sentinel: generating gui tests for android sensor leaks. In: Proceedings of the 13th international workshop on automation of software test, AST \u201918, pp 27\u201333","DOI":"10.1145\/3194733.3194734"},{"issue":"11","key":"9715_CR42","doi-asserted-by":"publisher","first-page":"1054","DOI":"10.1109\/TSE.2016.2547385","volume":"42","author":"T Wu","year":"2016","unstructured":"Wu T, Liu J, Xu Z, Guo C, Zhang Y, Yan J, Zhang J (2016) Light-weight, inter-procedural and callback-aware resource leak detection for android apps. IEEE Trans Soft Eng 42(11):1054\u20131076","journal-title":"IEEE Trans Soft Eng"},{"key":"9715_CR43","doi-asserted-by":"crossref","unstructured":"Xu G, Mitchell N, Arnold M, Rountev A, Schonberg E, Sevitsky G (2010) Finding low-utility data structures. In: Proceedings of the 31st ACM SIGPLAN conference on programming language design and implementation, PLDI \u201910, pp 174\u2013186","DOI":"10.1145\/1806596.1806617"},{"key":"9715_CR44","doi-asserted-by":"crossref","unstructured":"Yan D, Yang S, Rountev A (2013) Systematic testing for resource leaks in android applications. In: Proceedings of the 2013 IEEE 24th international symposium on software reliability engineering (ISSRE), pp 411\u2013420","DOI":"10.1109\/ISSRE.2013.6698894"},{"key":"9715_CR45","doi-asserted-by":"crossref","unstructured":"Zhang H, Wu H, Rountev A (2016) Automated test generation for detection of leaks in android applications. In: Proceedings of the 11th international workshop on automation of software test, AST \u201916, pp 64\u201370","DOI":"10.1145\/2896921.2896932"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-019-09715-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-019-09715-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-019-09715-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,5,14]],"date-time":"2020-05-14T23:37:49Z","timestamp":1589499469000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-019-09715-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,5,16]]},"references-count":45,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2019,12]]}},"alternative-id":["9715"],"URL":"https:\/\/doi.org\/10.1007\/s10664-019-09715-8","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,5,16]]},"assertion":[{"value":"16 May 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}