How Do Android Developers Improve Non-Functional Properties of Software?
Created by W.Langdon from
gp-bibliography.bib Revision:1.8120
- @Article{callan2022,
-
author = "James Callan and Oliver Krauss and Justyna Petke and
Federica Sarro",
-
title = "How Do {Android} Developers Improve Non-Functional
Properties of Software?",
-
journal = "Empirical Software Engineering",
-
year = "2022",
-
volume = "27",
-
pages = "Article 113",
-
note = "Topical Collection:Software Performance",
-
keywords = "genetic algorithms, genetic programming, genetic
improvement, Non-Functional property optimisation,
Android optimisation, Mining android, Execution time,
Bandwidth, Frame rate, Memory, NFP",
-
publisher = "Springer",
-
ISSN = "1382-3256",
-
URL = "https://discovery.ucl.ac.uk/id/eprint/10145101/",
-
URL = "https://discovery.ucl.ac.uk/id/eprint/10145101/1/Petke_Callan2022_Article_HowDoAndroidDevelopersImproveN.pdf",
-
URL = "https://rdcu.be/cZPhl",
-
DOI = "doi:10.1007/s10664-022-10137-2",
-
size = "42 pages",
-
abstract = "Nowadays there is an increased pressure on mobile app
developers to take non-functional properties into
account. An app that is too slow or uses much bandwidth
will decrease user satisfaction, and thus can lead to
users simply abandoning the app. Although automated
software improvement techniques exist for traditional
software, these are not as prevalent in the mobile
domain. Moreover, it is yet unknown if the same
software changes would be as effective. With that in
mind, we mined overall 100 Android repositories to find
out how developers improve execution time, memory
consumption, bandwidth usage and frame rate of mobile
apps. We categorised non-functional property (NFP)
improving commits related to performance to see how
existing automated software improvement techniques can
be improved. Our results show that although NFP
improving commits related to performance are rare, such
improvements appear throughout the development
life-cycle. We found altogether 560 NFP commits out of
a total of 74408 commits analysed. Memory consumption
is sacrificed most often when improving execution time
or bandwidth usage, although similar types of changes
can improve multiple non-functional properties at once.
Code deletion is the most frequently used strategy
except for frame rate, where increase in concurrency is
the dominant strategy. We find that automated software
improvement techniques for mobile domain can benefit
from addition of SQL query improvement, caching and
asset manipulation. Moreover, we provide a classifier
which can drastically reduce manual effort to analyse
NFP improving commits.",
-
notes = "Used by \cite{callan:2024:GI}",
- }
Genetic Programming entries for
James Callan
Oliver Krauss
Justyna Petke
Federica Sarro
Citations