How Maintainability Issues of Android Apps Evolve

Ivano Malavolta, Roberto Verdecchia, Bojan Filipovic, Magiel Bruntink, Patricia Lago

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

60 Downloads (Pure)

Abstract

Context. Android is the largest mobile platform today, with thousands of apps published and updated in the Google Play store everyday. Maintenance is an important factor in Android apps lifecycle, as it allows developers to constantly improve their apps and better tailor them to their user base. Goal. In this paper we investigate the evolution of various maintainability issues along the lifetime of Android apps. Method. We designed and conducted an empirical study on 434 GitHub repositories containing open, real (i.e., published in the Google Play store), and actively maintained Android apps. We statically analyzed 9,945 weekly snapshots of all apps for identifying their maintainability issues over time. We also identified maintainability hotspots along the lifetime of Android apps according to how their density of maintainability issues evolves over time. More than 2,000 GitHub commits belonging to identified hotspots have been manually categorized to understand the context in which maintainability hotspots occur. Results. Our results shed light on (i) how often various types of maintainability issues occur over the lifetime of Android apps, (ii) the evolution trends of the density of maintainability issues in Android apps, and (iii) an in-depth characterization of development activities related to maintainability hotspots. Together, these results can help Android developers in (i) better planning code refactoring sessions, (ii) better planning their code review sessions (e.g., steering the assignment of code reviews), and (iii) taking special care of their code quality when performing tasks belonging to activities highly correlated with maintainability issues. We also support researchers by objectively characterizing the state of the practice about maintainability of Android apps. Conclusions. Independently from the type of development activity, maintainability issues grow until they stabilize, but are never fully resolved.

Original languageEnglish
Title of host publicationProceedings - 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME)
Subtitle of host publication23-29 Sept. 2018
PublisherInstitute of Electrical and Electronics Engineers, Inc.
Pages334-344
Number of pages11
ISBN (Electronic)9781538678701, 9781538678718
DOIs
Publication statusPublished - 11 Nov 2018
Event34th IEEE International Conference on Software Maintenance and Evolution, ICSME 2018 - Madrid, Spain
Duration: 23 Sept 201829 Sept 2018

Conference

Conference34th IEEE International Conference on Software Maintenance and Evolution, ICSME 2018
Country/TerritorySpain
CityMadrid
Period23/09/1829/09/18

Keywords

  • Android
  • Empirical study
  • Maintainability

Fingerprint

Dive into the research topics of 'How Maintainability Issues of Android Apps Evolve'. Together they form a unique fingerprint.

Cite this