Wed 7 Nov 2018 10:30 - 10:52 at Horizons 10-11 - Mobile Apps Chair(s): Shane McIntosh

A map is a data structure that is commonly used to store data as key–value pairs and retrieve data as keys, values, or key–value pairs. Although Java offers different map implementation classes, Android SDK offers other implementations supposed to be more efficient than HashMap: ArrayMap and SparseArray variants (SparseArray, LongSparseArray, SparseIntArray, SparseLongArray, and SparseBooleanArray). Yet, the performance of these implementations in terms of CPU time, memory usage, and energy consumption is lacking in the official Android documentation; although saving CPU, memory, and energy is a major concern of users wanting to increase battery life. Consequently, we study the use of map implementations by Android developers in two ways. First, we perform an observational study of 5713 Android apps in GitHub. Second, we conduct a survey to assess developers’ perspective on Java and Android map implementations. Then, we perform an experimental study comparing HashMap, ArrayMap, and SparseArray variants map implementations in terms of CPU time, memory usage, and energy consumption. We conclude with guidelines for choosing among the map implementations: HashMap is preferable over ArrayMap to improve energy efficiency of apps, and SparseArray variants should be used instead of HashMap and ArrayMap when keys are primitive types.

Wed 7 Nov

Displayed time zone: Guadalajara, Mexico City, Monterrey change

10:30 - 12:00
Mobile AppsResearch Papers / Journal-First at Horizons 10-11
Chair(s): Shane McIntosh McGill University
10:30
22m
Talk
Getting the Most from Map Data Structures in Android
Journal-First
Rubén Saborido Infantes Department of Computer Science and Software Engineering, Concordia University, Montreal, Rodrigo Morales Concordia University, Foutse Khomh Polytechnique Montréal, Yann-Gaël Guéhéneuc Concordia University and Polytechnique Montréal, Giuliano Antoniol Polytechnique Montréal
DOI
10:52
22m
Talk
Successes, Challenges, and Rethinking – An Industrial Investigation on Crowdsourced Mobile Application Testing
Journal-First
Ruizhi Gao , Yabin Wang , Yang Feng University of California, Irvine, Zhenyu Chen Nanjing University, W. Eric Wong
DOI
11:15
22m
Talk
AppFlow: Using Machine Learning to Synthesize Robust, Reusable UI Tests
Research Papers
Gang Hu Columbia University, USA, Linjie Zhu , Junfeng Yang Columbia University
11:37
22m
Talk
Winning the App Production Rally
Research Papers
Ehsan Noei University of Toronto, Daniel Alencar Da Costa Queen's University, Kingston, Ontario, Ying Zou Queen's University, Kingston, Ontario