Powered by
Conference Publishing Consulting

1st International Workshop on Mobile Development (Mobile! 2016), October 31, 2016, Amsterdam, Netherlands

Mobile! 2016 – Proceedings

Contents - Abstracts - Authors

Frontmatter

Title Page


Message from the Chairs
Welcome to the proceedings for Mobile Development 2016 (Mobile! 2016) workshop, which was co-located with SPLASH 2016. This workshop combines two (each previously 3-years-running) SPLASH workshops: MobileDeLi (Mobile Development Lifecycle) and PROMOTO (Programming for Mobile and Touch). This first international Mobile! workshop took place in Amsterdam, Netherlands on October 31, 2016. The main focus of the Mobile! workshop is on research intended to improve software engineering for mobile devices, over the entire software development lifecycle.

Keynote

Beyond Native Apps: Web Technologies to the Rescue! (Keynote)
Ivano Malavolta
(VU University Amsterdam, Netherlands)
As of today, mobile software development teams can follow a number of different development and distribution strategies, ranging from native apps, to mobile web apps, hybrid apps, and the recently emerging progressive web apps.
This talk provides a state-of-the-art overview of the development strategies and technologies for developing mobile apps, each of them with its own advantages and drawbacks. In this context, the use of web technologies is discussed as a promising investment for moving forward one of the most intriguing challenges in the world of mobile apps: its fragmentation with respect to mobile platforms. A discussion of research challenges, and thus opportunities, closes the talk.

Session I

Google Authentication Risks on iOS
Will Dormann
(CERT/CC, USA)
The Google Identity Platform is a system that allows a user to sign in to applications and other services by using a Google account. Google Sign-In is one such method for providing one’s identity to the Google Identity Platform. Google Sign-In is available for Android applications and iOS applications, as well as for websites and other devices. Users of Google Sign-In find that it integrates well with the Android platform, but iOS users (iPhone, iPad, etc.) do not have the same experience. The user experience when logging in to a Google account on an iOS application can not only be more tedious than the Android experience, but it also conditions users to engage in behaviors that put the information in their Google accounts at risk.

Managing Persistent Heap in NVRAM
Kumud Bhandari
(Rice University, USA)
The scalability limitations of current DRAM technology have prompted research in alternative memory technologies. Almost all new viable alternatives being explored are non-volatile in nature. In this talk, we explore the implication of emerging non-volatile memory technologies (NVRAM) to mobile computing, the persistence programming models inspired by the emergence of NVRAM, and the challenges of managing persistent memory. Finally, we present Makalu, an approach that represents one possible solution to the persistent memory management challenges. Makalu avoids failure-induced persistent memory leaks, offers interoperability with a variety of NVRAM programming libraries (NVMPLs), while supporting a less restrictive programming model and delivering better performance compared to existing NVMPLs' default allocators.

Session II

Persistent Contextual Values as Inter-process Layers
Markus Raab
(Vienna University of Technology, Austria)
Mobile applications today often fail to be context aware when they also need to be customizable and efficient at run-time. Context-oriented programming allows programmers to develop applications that are more context aware. Its central construct, the so-called layer, however, is not customizable. We propose to use novel persistent contextual values for mobile development. Persistent contextual values automatically adapt their value to the context. Furthermore they provide access without overhead. Key-value configuration files contain the specification of contextual values and the persisted contextual values themselves. By modifying the configuration files, the contextual values can easily be customized for every context. From the specification, we generate code to simplify development. Our implementation, called Elektra, permits development in several languages including C++ and Java. In a benchmark we compare layer activations between threads and between applications. In a case study involving a web-server on a mobile embedded device the performance overhead is minimal, even with many context switches.

Hacking with Multi-touch for Java (MT4j)
Craig Anslow, Stuart Marshall, James NobleORCID logo, and Robert Biddle ORCID logo
(Middlesex University, UK; Victoria University of Wellington, New Zealand; Carleton University, Canada)
Developing applications for touch devices is hard. Developing touch based applications for multi-user input is harder. The Multi-Touch for Java (MT4j) toolkit supports developing touch based applications for multiple users. In this paper, we outline our experience using MT4j for developing a number of software applications to support developers working in co-located teams. Our experience using the toolkit will help developers to understand the nuances of the toolkit and design issues that can be applied to other toolkits for developing multi-user touch based applications.

Regression Aware Debugging for Mobile Applications
Rohan Bavishi, Awanish Pandey, and Subhajit Roy
(IIT Kanpur, India)
Regression-aware fault localization attempts to rank suspicious statements in a manner such that potential regression inducing suggestions are ranked low. The algorithm extracts the proof of correctness of all the correct executions in the form of Craig Interpolants over the successful execution traces. It, then, labels a program location suspicious if it can find a possible value for the assignment that can allow the hitherto failing execution to produce the expected output. However, any such value that does not satisfy the proof constraints of the passing tests are penalized in terms of their ranking. In this article, we sketch the regression-aware fault localization algorithm and motivate its potential application in debugging mobile applications.

Data Collection Requirements for Mobile Connected Health: An End User Development Approach
Jose Juan Dominguez Veiga and Tomas E. Ward
(Maynooth University, Ireland)
The rise of smart mobile devices presents increasing opportunities for health monitoring outside the clinic. Through the use of sensors and wearables, innovative Connected Health applications can be developed. In particular, Digital Therapeutics (DT), a type of technology-enabled intervention, can be made possible through continuous data capture, aiding users through gaining feedback on their lifestyle choices and engagement with programs of recovery, and supplementing conventional treatments for chronic disease management such as in diabetes, epilepsy, and mental health. Unfortunately, patient-facing professionals capable of articulating appropriate sensor-enabled solutions, generally lack the full range of skills to develop such systems. A connected health application may involve mobile development, data services, visualisation, machine learning, and sensor signal processing, needing multidisciplinary teams, including professional software engineers. The cost of maintaining a software team across the research and development stages may prove prohibitive for many, hindering innovation. This paper focuses on gathering requirements for data collection in mHealth studies, and reports the initial findings after a round of interviews with researchers in areas such as psychology, physiotherapy, neurology, and health promotion education. Those requirements are framed within an existing End User Development (EUD) tool to create mobile apps for the Android platform, the open source project MIT App Inventor. The survey results highlight not only the development work needed for App Inventor to be used as a data collection tool in DT, but also a number of potential security and privacy issues, and the implementation of a layered feedback loop with a social aspect at the heart of it.

Session III

Scaling Android User Interfaces: A Case Study of Squid
David S. Janzen, Andrew Hughes, and Anthony Lenz
(California Polytechnic State University, USA; Steadfast Innovation, USA)
Modern mobile device screen sizes vary significantly, from watches to phones to tablets. Android in particular has supported varying screen sizes since 2009, and is currently being installed on large format touch displays over eight feet diagonally. These extreme variations present significant challenges to app developers who desire to support all devices within a single application. Squid is a handwriting, note-taking application with well over two million installations and a 4.2+ star rating in Google Play. Although originally designed for tablets, we have adapted Squid to run effectively on phones and more recently large format displays. In this paper we report on UI/UX challenges that we faced and decisions made to overcome them.

A Model-Based Method for Seamless Web and Mobile Experience
Marco Brambilla, Andrea Mauri, Mirco Franzago, and Henry Muccini
(Politecnico di Milano, Italy; University of L'Aquila, Italy)
Consumer-centered software applications nowadays are required to be available both as mobile and desktop versions. However, the app design is frequently made only for one of the two (i.e., mobile first or web first) while missing an appropriate design for the other (which, in turn, simply mimics the interaction of the first one). This results into poor quality of the interaction on one or the other platform. Current solutions would require different designs, to be realized through different design methods and tools, and that may require to double development and maintenance costs.
In order to mitigate such an issue, this paper proposes a novel approach that supports the design of both web and mobile applications at once. Starting from a unique requirement and business specification, where web-- and mobile--specific aspects are captured through tagging, we derive a platform-independent design of the system specified in IFML. This model is subsequently refined and detailed for the two platforms, and used to automatically generate both the web and mobile versions. If more precise interactions are needed for the mobile part, a blending with MobML, a mobile-specific modeling language, is devised. Full traceability of the relations between artifacts is granted.

Mobile Application Test Case Generation Focusing on External Events
Siena Yu and Shingo Takada
(Keio University, Japan)
This paper proposes an approach for test case generation of mobile apps, specifically Android apps. The approach focuses on external events. External events are considered from two aspects: explicit events and implicit events.

GUI and Usage Model-Based Test Case Generation for Android Applications with Change Analysis
Jose Lorenzo San Miguel and Shingo Takada
(Keio University, Japan)
This paper presents an approach to model-based test case generation for Android GUI testing. Our approach aims to formulate a technique that can achieve better code coverage by incorporating manual testing methods. Our approach was evaluated using three applications based on the statement coverage achieved.

proc time: 1.89