Statistical analysis of android apps : a study of lifecycle development patterns

Other Title(s)

تحليل أنماط دورة حياة تطبيقات الأندرويد

Dissertant

Hushiyah, Nurah

Thesis advisor

Zain, Samir

University

Birzeit University

Faculty

Faculty of Engineering and Technology

Department

Department of Computer Systems Engineering

University Country

Palestine (West Bank)

Degree

Master

Degree Date

2018

English Abstract

Building robust Android apps is a non-trivial task that requires skilled developers to understand the different peculiarities of such apps.

However, among the Android developer community, a large fraction is considered to be novice and inexperienced developers.

One of the main peculiarities in Android app development is a lifecycle model.

A developer needs to have a deep understanding of the different lifecycle states and callback methods that an Android activity can go through during its runtime.

These callback methods are called by the system whenever the activity changes its state.

The developer on one hand needs to override these callback methods correctly to avoid app memory leaks and data loss.

Statistical analysis of software applications provides actionable insights and helps to understand how applications were really built.

Although there have been lots of studies focusing on analyzing of Android apps in the areas of testing, quality, design, privacy, and security; there are no studies focus on lifecycle development practices thus far.

In this thesis, 842 open-sourced Android apps containing 5577 activities were analyzed to explore and understand how Android developers actually comply with best practices regarding the activity lifecycle model.

A tool named Statistical Analysis of Android Lifecycle (SAALC) was developed that is capable to analyze Android activities and extracting valuable information about lifecycle callback methods usage.

The generated results show, which callback methods are mostly implemented, what they are implementing for, and the nature of code they contain.

More specifically, the results show an incorrect implementation of the callback methods and incorrect acquiring and releasing of a system’s resources.

The findings suggest that a relatively large fraction of Android developers who didn’t well understand the lifecycle model.

This research also compares the results obtained with best practices and state-of-theart.

Main Subjects

Information Technology and Computer Science

Topics

No. of Pages

156

Table of Contents

Table of contents.

Abstract.

Abstract in Arabic.

Chapter One : Introduction.

Chapter Two : Background.

Chapter Three : Literature review.

Chapter Four : Research methodology.

Chapter Five : Results.

Chapter Six : Discussion.

Chapter Seven : Conclusions.

References.

American Psychological Association (APA)

Hushiyah, Nurah. (2018). Statistical analysis of android apps : a study of lifecycle development patterns. (Master's theses Theses and Dissertations Master). Birzeit University, Palestine (West Bank)
https://search.emarefa.net/detail/BIM-836638

Modern Language Association (MLA)

Hushiyah, Nurah. Statistical analysis of android apps : a study of lifecycle development patterns. (Master's theses Theses and Dissertations Master). Birzeit University. (2018).
https://search.emarefa.net/detail/BIM-836638

American Medical Association (AMA)

Hushiyah, Nurah. (2018). Statistical analysis of android apps : a study of lifecycle development patterns. (Master's theses Theses and Dissertations Master). Birzeit University, Palestine (West Bank)
https://search.emarefa.net/detail/BIM-836638

Language

English

Data Type

Arab Theses

Record ID

BIM-836638