Static Analysis of Android Programs

Abstract : Android is a programming language based on Java and an operating system for embedded or mobile devices whose upper layers are written in that language. It features an extended event-based library and dynamic inflation of graphical views from declarative XML layout files. A static analyzer for Android programs must consider such features, for correctness and precision. This article is an in-depth description of how we extended the Julia system, based on abstract interpretation, to run formally correct analyses of Android programs, of the difficulties that we faced and of the results that we obtained. Namely, we have analyzed with Julia the whole set of Android sample applications by Google and a few larger open-source programs. We have applied seven static analyses, including classcast, dead code, nullness and termination analysis. Julia has found, automatically, bugs and flaws both in the Google samples and in the open-source applications.
Mots-clés : Programmation
Document type :
Conference papers
Complete list of metadatas

http://hal.univ-reunion.fr/hal-01188018
Contributor : Nicolas Alarcon <>
Submitted on : Friday, November 9, 2018 - 7:36:18 AM
Last modification on : Thursday, March 28, 2019 - 11:24:11 AM
Long-term archiving on : Sunday, February 10, 2019 - 12:38:20 PM

File

Static_analysis_of_android_pro...
Explicit agreement for this submission

Identifiers

  • HAL Id : hal-01188018, version 1

Collections

Citation

Etienne Payet, Fausto Spoto. Static Analysis of Android Programs. 23rd International Conference on Automated Deduction (CADE'11), Jul 2011, Wroclaw, Poland. pp.439--445. ⟨hal-01188018⟩

Share

Metrics

Record views

31

Files downloads

84