Ítem
Solo Metadatos

Practical static analysis of context leaks in Android applications

dc.creatorToffalini F.spa
dc.creatorSun J.spa
dc.creatorOchoa M.spa
dc.date.accessioned2020-05-26T00:01:06Z
dc.date.available2020-05-26T00:01:06Z
dc.date.created2019spa
dc.description.abstractAndroid native applications, written in Java and distributed in APK format, are widely used in mobile devices. Their specific pattern of use lets the operating system control the creation and destruction of resources, such as activities and services (contexts). Programmers are not supposed to interfere with such life cycle events. Otherwise, contexts might be leaked, ie, they will never be deallocated from memory, or be deallocated late, leading to memory exhaustion and frozen applications. In practice, it is easy to write incorrect code, which hinders garbage collection of contexts and leads to context leakages. In this work, we present a novel static analysis method that finds context leaks in Android code. We apply this analysis to APKs translated into Java bytecode. We provide a formal analysis of our algorithms and suggest further research directions for improving precision by combining different approaches. We discuss the results of a large number of experiments with our analysis, which reveal context leaks in many widely used applications from the Android marketplace. This shows the practical usefulness of our technique and its superiority w.r.t. the well-known Lint and Infer static analysis tools. We estimate the amount of memory saved by the collection of the leaks found and explain, experimentally, where programmers often go wrong and limitations of our tool. Such lessons could be used for designing of a sound or more powerful static analysis tool. This work can be considered as a practical application of software analysis techniques to solve practical problems. © 2018 John Wiley and Sons, Ltd.eng
dc.format.mimetypeapplication/pdf
dc.identifier.doihttps://doi.org/10.1002/spe.2659
dc.identifier.issn1097024X
dc.identifier.issn00380644
dc.identifier.urihttps://repository.urosario.edu.co/handle/10336/23315
dc.language.isoengspa
dc.publisherJohn Wiley and Sons Ltdspa
dc.relation.citationEndPage251
dc.relation.citationIssueNo. 2
dc.relation.citationStartPage233
dc.relation.citationTitleSoftware - Practice and Experience
dc.relation.citationVolumeVol. 49
dc.relation.ispartofSoftware - Practice and Experience, ISSN:1097024X, 00380644, Vol.49, No.2 (2019); pp. 233-251spa
dc.relation.urihttps://www.scopus.com/inward/record.uri?eid=2-s2.0-85056271576&doi=10.1002%2fspe.2659&partnerID=40&md5=0e0803fd929feae0044c6f76fc73e54fspa
dc.rights.accesRightsinfo:eu-repo/semantics/openAccess
dc.rights.accesoAbierto (Texto Completo)spa
dc.source.instnameinstname:Universidad del Rosariospa
dc.source.reponamereponame:Repositorio Institucional EdocURspa
dc.subject.keywordAndroid (operating system)spa
dc.subject.keywordApplication programsspa
dc.subject.keywordJava programming languagespa
dc.subject.keywordLife cyclespa
dc.subject.keywordAndroidspa
dc.subject.keywordAndroid applicationsspa
dc.subject.keywordFormal analysisspa
dc.subject.keywordGarbage collectionspa
dc.subject.keywordMemory leaksspa
dc.subject.keywordPractical problemsspa
dc.subject.keywordSoftware analysisspa
dc.subject.keywordStatic analysis methodspa
dc.subject.keywordStatic analysisspa
dc.subject.keywordAndroidspa
dc.subject.keywordMemory leakspa
dc.subject.keywordStatic analysisspa
dc.titlePractical static analysis of context leaks in Android applicationsspa
dc.typeconferenceObjecteng
dc.type.hasVersioninfo:eu-repo/semantics/publishedVersion
dc.type.spaDocumento de conferenciaspa
Archivos
Colecciones