Related Experiment Video
Updated: Sep 20, 2025

07:31
A Computerized Functional Skills Assessment and Training Program Targeting Technology Based Everyday Functional Skills
Published on: February 13, 2020
7.0K
How do Android developers improve non-functional properties of software?
James Callan1, Oliver Krauss2, Justyna Petke1
1University College London, London, UK.
Summary
Mobile developers rarely improve app performance, but these changes occur throughout development. Optimizing code often involves deleting code or increasing concurrency, sometimes sacrificing memory.
Area of Science:
- Software Engineering
- Mobile Computing
- Performance Optimization
Background:
- Mobile app developers face increasing pressure to optimize non-functional properties (NFPs) like speed and bandwidth.
- Poor performance leads to user dissatisfaction and app abandonment.
- Automated software improvement techniques are less prevalent and their effectiveness in the mobile domain is uncertain.
Purpose of the Study:
- To investigate how developers improve mobile app performance (execution time, memory, bandwidth, frame rate).
- To categorize commits related to non-functional property improvements.
- To inform the enhancement of automated software improvement techniques for mobile applications.
Main Methods:
- Analysis of 100 Android repositories, examining 74,408 commits.
- Categorization of 560 identified non-functional property (NFP) improving commits.
- Development of a classifier to aid in analyzing NFP improving commits.
Main Results:
- NFP-improving commits are rare but distributed across the development lifecycle.
- Memory consumption is often traded for improved execution time or bandwidth.
- Code deletion is a common strategy, while increased concurrency is key for frame rate improvements.
- Similar code changes can enhance multiple NFPs simultaneously.
Conclusions:
- Automated mobile software improvement can benefit from incorporating SQL query optimization, caching, and asset manipulation.
- A developed classifier can significantly reduce the manual effort required for analyzing NFP-improving commits.
- Understanding developer practices provides insights for creating more effective automated optimization tools.
Related Concept Videos
Design Example: Managing Concrete Workability
123
This example deals with managing the workability of concrete for a raft foundation project under hot weather conditions. Workability is crucial for ensuring the concrete is easy to place, compact, and finish. In this scenario, a slump test — a common method to measure the workability of fresh concrete — initially indicated low workability. This was attributed to the rapid water loss from the concrete mix, exacerbated by the high temperatures causing the course aggregates to heat up.
123
Design Consideration
335
Designing a structure involves a series of considerations, primarily the material's ultimate strength, calculated through tests that measure changes under increased force until the material reaches its breaking point or limit. The ultimate load, where the material breaks, is divided by its original cross-sectional area, resulting in the ultimate normal stress or strength. The ultimate shearing stress is another significant factor taken into account.
The factor of safety is another key...
The factor of safety is another key...
335
Stereotype Content Model
14.9K
The Stereotype Content Model (SCM) was first proposed by Susan Fiske and her colleagues (Fiske, Cuddy, Glick & Xu, 2002; see also Fiske, 2012 and Fiske, 2017). The SCM specifies that when someone encounters a new group, they will stereotype them based on two metrics: warmth—or that group’s perceived intent, and how likely they are to provide help or inflict harm—and competence—or their ability to carry out that objective. Depending on the warmth-competence...
14.9K
Factors Affecting Workability
125
The workability of concrete is a critical characteristic that influences the ease of mixing, handling, and finishing the concrete. It is affected by several factors including water content, aggregate properties, and admixtures like air entrainment. Water plays a fundamental role as it lubricates the concrete mix, facilitating easier movement and placement. However, the water requirement varies depending on the texture and shape of aggregates. Finer particles and angular, rough-textured...
125
Types of Errors: Detection and Minimization
2.8K
Error is the deviation of the obtained result from the true, expected value or the estimated central value. Errors are expressed in absolute or relative terms.
Absolute error in a measurement is the numerical difference from the true or central value. Relative error is the ratio between absolute error and the true or central value, expressed as a percentage.
Errors can be classified by source, magnitude, and sign. There are three types of errors: systematic, random, and gross.
Systematic or...
Absolute error in a measurement is the numerical difference from the true or central value. Relative error is the ratio between absolute error and the true or central value, expressed as a percentage.
Errors can be classified by source, magnitude, and sign. There are three types of errors: systematic, random, and gross.
Systematic or...
2.8K
Quality Assurance
210
Quality assurance is the overarching term used to describe the activities employed to ensure the proper performance of a system. These activities can be classified into three categories: quality control, quality assessment, and internal corrective measures. Typically, these activities work cyclically: quality control is performed before and during the analysis, while quality assessment occurs during and after the investigation. Internal corrective measures are implemented based on the findings...
210

