Powered by
Conference Publishing Consulting

1st International Conference on Mobile Software Engineering and Systems (MOBILESoft 2014), June 2–3, 2014, Hyderabad, India

MOBILESoft 2014 – Proceedings

Contents - Abstracts - Authors

Frontmatter

Title Page

Welcome Message of the Chairs
Mobile application usage and development is experiencing exponential growth. According to the Gartner Group, by 2016 more than 300 billion applications will be downloaded annually. The mobile domain presents new challenges to software engineering. Mobile platforms are rapidly changing, including diverse capabilities as GPS, sensors, and input modes. Applications must be omni-channel and work on all platforms. Activated on mobile platforms, modern applications must be elastic and scale on demand according to the hardware abilities. Bring your own device (BYOD) policies introduce new challenges for security and management. Applications often need to support and use third-party services. Therefore, during development, security and authorization processes for the dataflow must be applied. Developing such applications requires suitable practices and tools e.g., architecture techniques that relate to the complexity at hand; improved refactoring tools for hybrid applications using dynamic languages and polyglot development; testing techniques for applications that run on different devices.

Tutorials

TouchDevelop: Create Rich Mobile Apps on Touch Devices (Tutorial)
Nikolai Tillmann, Michał Moskal, Jonathan de Halleux, Sebastian Burckhardt, Thomas Ball, and Judith Bishop
(Microsoft Research, USA)
We are experiencing a technology shift: Powerful and easy-to-use mobile devices like smartphones and tablets are becoming more prevalent than traditional PCs and laptops. Mobile devices are going to be the first and, in less developed countries, possibly the only computing devices which virtually all people will own and carry with them at all times. In this tutorial, participants will learn about developing software directly on their mobile devices. The tutorial is based on TouchDevelop, a modern software development environment that embraces this new reality, treating mobile devices as first-class software development machines, instead of relying on legacy development models built around PC. TouchDevelop comes with typed, structured programming language that is built around the idea of only using a touchscreen as the input device to author code. Access to the cloud, flexible user interfaces, and access to sensors such as accelerometer and GPS are available as a first-class citizens in the programming language. TouchDevelop is available as a web app on Windows tablets, iOS, Android, Windows PCs and Macs, and as a native app on Windows Phone.
Publisher's Version Article Search Video Info
Composing Web APIs: State of the Art and Mobile Implications (Tutorial)
Biplav Srivastava
(IBM, India)
The aim of the tutorial is to make early and experienced researchers aware of the Web Application Programming Interfaces (APIs) technology area in general and composing them in particular. This area offers a rich avenue for applying mobile (e.g., location-based, energy-efficiency), software (rapid prototyping, quality-of-service, life cycle) and AI techniques (e.g., planning, semantics, knowledge representation, logic, trust, learning and agents). We aim to provide an insightful overview and whet the audiences’ interest to undertake new efforts in building useful (mobile) applications for fun and profit and push the art on important open issues.
Publisher's Version Article Search
Swarachakra Keyboard for Indic Scripts (Tutorial)
Manjiri Joshi, Anirudha N. Joshi, Nagraj Emmadi, and Nirav Malsattar
(IIT Bombay, India)
Swarachakra is a text input method developed for Indic scripts on touch-screen devices. Swarachakra uses a logically ordered design based on the structure of Indic scripts. Swarachakra displays the consonants sequenced according to the logical structure of Indic scripts, phonetically grouped and arranged in a grid similar to those found in most school textbooks. Currently we have launched Swarachakra for Hindi, Marathi, Gujarati, Kannada, Telugu, Malayalam, Odia and Punjabi (Gurmukhi) for Android devices.
Publisher's Version Article Search

Research I

Interaction Design for People with Less Education (Keynote)
Anirudha N. Joshi
(IIT Bombay, India)
Until about 2005, information and communication technologies (ICTs) were predominantly used by about 20,% of the world's population - a definite minority. These users typically happened to be educated, urban, office or factory workers in developed countries and contexts. However the adoption of mobile telephony increased rapidly thereafter, and today ICTs in some form are in the hands of more than 80,% of the world's population, including the rural, the uneducated, and those in developing countries. This change seems to be ongoing, and it is now expected that within the next few years, everyone on the planet will have some access to ICTs. From an interaction design perspective, these "new" users of ICTs are very different from the earlier users. They did not use computers before they used mobile phones, so they did not get an opportunity to understand the conceptual model of what a computer can do, though they now have one in their pockets. Moreover, there is lot more diversity in this group of users than in the earlier users. So not only do they need different solutions than the ones that have evolved so far, they need different kinds of solutions from each other. Today, their use of ICTs is restricted, though there is potential waiting to be discovered, perhaps waiting to explode. We have the opportunity to find the right solutions for many problems that have plagued a majority of the people in the world. The future is ours to create. In the Interaction Design for Development group in the Industrial Design Centre of IIT Bombay we have been doing some experiments to explore these potentials. In this talk, I will share some ideas that seemed to work, and some that did not.
Publisher's Version Article Search
BraceForce: A Middleware to Enable Sensing Integration in Mobile Applications for Novice Programmers
Xi Zheng, Dewayne E. Perry, and Christine Julien
(University of Texas at Austin, USA)
Even as the use of sensor networks to support mobile applications grows, our ability to seamlessly and efficiently incorporate sensor network capabilities into our mobile applications remains astoundingly difficult. Today, accessing remote sensing data and integrating this data into the adaptive behavior of a dynamic user-facing mobile application requires interacting with multiple platforms, languages, data formats, and communication paradigms. We present BraceForce, an open and extensible middleware that allows developers to access the myriad remote sensing capabilities inherent to today’s mobile computing spaces (where mobile devices and sensors are closely integrated) using very minimal code. Further, BraceForce incorporates event- and model-driven data acquisition as first-class concepts to provide efficient access to sensing while retaining expressiveness and flexibility for applications. We present the BraceForce architecture and key abstractions, describe their implementations, and provide an empirical study using BraceForce to support mobile applications integrating sensing.
Publisher's Version Article Search
Exposing Native Device APIs to Web Apps
Arno Puder, Nikolai Tillmann, and Michał Moskal
(San Francisco State University, USA; Microsoft Research, USA)
A recent survey among developers revealed that half plan to use HTML5 for mobile apps in the future. An earlier survey showed that access to native device APIs is the biggest shortcoming of HTML5 compared to native apps. Several different approaches exist to overcome this limitation, among them cross-compilation and packaging the HTML5 as a native app. In this paper we propose a novel approach by using a device-local service that runs on the smartphone and that acts as a gateway to the native layer for HTML5-based apps running inside the standard browser. WebSockets are used for bi-directional communication between the web apps and the device-local service. The service approach is a generalization of the packaging solution. In this paper we describe our approach and compare it with other popular ways to grant web apps access to the native API layer of the operating system.
Publisher's Version Article Search
On Evaluating and Securing Firefox for Android Browser Extensions
Josh Marston, Komminist Weldemariam, and Mohammad Zulkernine
(ParTech, Canada; IBM Research, Kenya; Queen's University, Canada)
Unsafely or maliciously coded extensions allow an attacker to run their own code in the victim's browser with elevated privileges. This gives the attacker a large amount of control over not only the browser but the underlying machine as well. The topic of securing desktop browsers from such threats has been well studied but mitigating the same danger on mobile devices has seen little attention. Similarly, mobile device use continues to grow world-wide at a rapid pace along with their capability and ability to perform sensitive actions. In an effort to mitigate the risks inherent with these actions, this paper details the dangers of JavaScript injection on the mobile browser. We further present a defense technique that was developed by extending from the desktop environment to work in the mobile space. Our prototype implementation is a combination of extensions on the Firefox for Android and a slightly modified browser of Firefox for Android. When the user attempts to install a new extension or update an existing one, the modified browser is called a priori. The overall extension logic, code transformation, and static analyzer components were implemented in JavaScript and SQLLite database. Our preliminary evaluation shows that our prototype implementation can effectively prevent real-world attacks against extensions on Firefox for Android without affecting users' browsing experience.
Publisher's Version Article Search

Emerging Ideas I

Android Application Development and Testability
Thomas W. Knych and Ashwin Baliga
(Google, USA)
In this paper, we outline the challenges mobile development poses from a perspective of testability and application quality. We propose development and testing strategies to mitigate those challenges and discuss tools that can enable those strategies.
Publisher's Version Article Search
Mobile Architectures at Runtime: Research Challenges
Nour Ali and Carlos Soli­s
(University of Brighton, UK; Amazon, Ireland)
Mobile applications interact with devices, networks, environments and pervasive services and at runtime these interactions can continuously change and adapt, causing side effects. In this paper, we propose the usage of architectural models at runtime to allow software engineers monitor the structural changes of a mobile system. Architectural models at runtime have previously been proposed in the literature and providing them to mobile software engineers can help them to maintain and evolve mobile applications by taking just in time actions in fixing problems more quickly or decide to disable certain services. We discuss the motivation and outline several research challenges for providing a conceptual framework and tool for mobile architecture at runtime support. We also discuss a solution to one of the challenges.
Publisher's Version Article Search

Emerging Ideas II

MobileFirst: Mobile Development and Runtime Challenges for Today and Tomorrow (Keynote)
Gabi Zodik
(IBM Research, Israel)
Mobile technologies are revolutionizing our personal lives and transforming the way we do business. This talk addresses both the technology and business transformations taking place, and ex-plains how they are encouraging organizations to rethink the way they do business. The ensuing changes affect the internal business processes related to employees and the external customer facing systems that use front office digitization. The large variety of heterogeneous platforms, form factors, native vs. hybrid applica-tions are among the many challenges associated with developing and managing mobile applications. This challenge is further inten-sified by omni-channel requirements, which are driving the need for businesses to present customers with a single, transparent system—rather than multiple channels with separate inventory, processing, and delivery systems. This talk introduces new tech-nologies from IBM Research that tackle these hurdles and address the entire application lifecycle. These innovations include: tools that help non-programmers create mobile applications, advanced services for functional and performance testing, security analysis and certification, and application usability and usage analytics. This technology transformation underlines the need for new mid-dleware capabilities that are delivered as Mobile Back-end as a Service (MBaaS). These services can include capabilities such as location, push, cloud code, and data synchronization; all these can be delivered as part of a comprehensive API management system. In addition to platform challenges, this talk shares a peek at some new mobile solutions, including advanced authentication services, urban mobility, education, healthcare, patient centered care, and more.
Publisher's Version Article Search
MobiGolog: Formal Task Modelling for Testing User Gestures Interaction in Mobile Applications
Shah Rukh Humayoun and Yael Dubinsky
(University of Kaiserslautern, Germany; IBM Research, Israel)
Multi-touch gestures like swipe and pinch have introduced a new interaction paradigm that is currently used in developing mobile applications. Such applications can include different user gestures that cause different results for different interactions with the same user interface element. Testing such user interaction is complex. We present a formal task-based approach to automate testing of user gestures in mobile applications. In previous work, we used TaMoGolog, a formal task modelling language built on the top of the Golog family of high-level programming languages, for evaluating user interfaces along the development process. In this work, we present MobiGolog that extends TaMoGolog to support the testing of users’ multi-touch gestures in the developing and developed mobile applications.
Publisher's Version Article Search
An Exploratory Study of the Adoption of Mobile Development Platforms by Software Engineers
Müller Miranda, Renato Ferreira, Cleidson R. B. de Souza, Fernando Figueira Filho, and Leif Singer
(Federal University of Pará, Brazil; Vale Institute of Technology, Brazil; Federal University of Rio Grande do Norte, Brazil; University of Victoria, Canada)
There are several mobile platforms that compete with each other to attract software developers. However, it is not yet well under-stood which factors developers take into account when deciding on a particular platform. We report on an exploratory study that aims to address this gap. Through semi-structured interviews that used diffusion of innovations theory as conceptual framework, we identified some of these factors. For instance, we uncovered that developers perceive the Android platform as more accessible and compatible with their existing knowledge, but that they fear its fragmentation. Some developers choose iOS simply because sales are more lucrative on that platform. Our preliminary findings can help developers to decide which platforms to use and platform vendors to optimize their offerings to developers.
Publisher's Version Article Search

Emerging Ideas III

Android Phone Based Appraisal of App Behavior on Cell Networks
Shaifali Gupta, Rashi Garg, Nikita Jain, Vinayak Naik, and Sanjit Kaul
(IIIT Delhi, India)
The rapid adoption of smartphones has engendered a large ecosystem of mobile data applications. A large part of mobile traffic is now data and not voice. Many of these applications, for example VoIP clients, stay active in the background. In the background, they may not communicate large amounts of data. However, their regular bursts of activity can lead to large signaling overheads, wastage of radio resources, and draining of a phone's battery. In this work we propose for Android smartphones an on-the-phone mechanism to detect background applications that due to bad design (given the network's settings) or their malicious nature (exploiting the network's settings) lead to above mentioned inefficiencies. We also outline a fully functional ready-to-install tool that we developed and used for our studies.
Publisher's Version Article Search
Towards a Collaborative Framework for the Design and Development of Data-Intensive Mobile Applications
Mirco Franzago, Henry Muccini, and Ivano Malavolta
(University of L'Aquila, Italy; Gran Sasso Science Institute, Italy)
Guidelines and best practices on how to design and develop mobile applications are being periodically released by mobile OS vendors, mobile developers, and researchers. Still, a framework that collects and integrates them in a simple, holistic, and automated approach is missing. This work proposes a modelling framework supporting the collaborative design and development of data-intensive mobile applications. By using Model-Driven Engineering techniques, we define four modelling languages covering the main concerns coming from the mobile app development domain; the framework supports the analysis of models and the automated synthesis of executable mobile applications for multiple platforms. This paper provides an overall view of the modelling framework, and highlights its main features for both technical and non-technical stakeholders.
Publisher's Version Article Search
Chiromancer: A Tool for Boosting Android Application Performance
Samit Anwer, Aniya Aggarwal, Rahul Purandare, and Vinayak Naik
(IIIT Delhi, India)
Each Android application runs in its own virtual machine, with its own Linux user account and corresponding permissions. Although this ensures that permissions are given as per each application's requirements, each permission itself is still broad enough to possible exploitation. Such an exploitation may result in over consumption of phone's resources, in terms of processing, battery, and communication bandwidth. In this paper, we propose a tool, called Chiromancer, for the developers and phone users to control application's permissions at a fine granularity and to tune the application's resource consumption to their satisfaction. The framework is based on static code analysis and code injection. It takes in compiled code and so does not require access to source code of the application. As a case study, we passed publicly available applications from Google Play through Chiromancer to fine tune their performance. We compared energy and data consumed by these applications before and after the code injection to corroborate our claims of improvement in performance. We observed substantial improvements.
Publisher's Version Article Search
Automate the Decision on Best-Suited UI Design for Mobile Apps
Shah Rukh Humayoun, Ragaad AlTarawneh, Achim Ebert, and Yael Dubinsky
(University of Kaiserslautern, Germany; IBM Research, Israel)
Recent advances in the mobile domain, such as the introduction of multi-touch gestures, introduce new challenges for interaction designers in producing the best-suited user interface (UI) design and interaction schema. Previously, we have proposed an approach for evolving the created mobile app UIs towards the best-suited design and interaction schema. The approach uses Genetic Algorithm (GA) for searching the best solution (i.e., the possible best UI design and interaction schema). However, the approach works best when given a high number of input populations (i.e., input UI designs), which requires more designers. In this work, we propose to automate the process of generating the candidates input UIs. For this, we propose to use MobiGolog, a formal task modelling language for the mobile domain, for formally specifying the required functionality set alongside the possible UI elements and interaction schema. This formal specification is then used to generate all the possible combinations of UI design layouts and interaction schemas, which are then given as input to the GA in order to give a better solution at the end in a cost effective manner.
Publisher's Version Article Search

Industrial Papers

Mobile Computing at the Edge (Keynote)
Grace A. Lewis
(SEI, USA)
As sales of mobile devices grow and smartphones and tablets become for many the preferred way of interacting with the Internet, social media and the enterprise, organizations are striving to push content and functionality out to mobile users. However, mobile devices still do not have the computing power and battery life that will allow them to perform effectively. This keynote explores current and future options for mobile devices to leverage edge networks and servers to extend their computing power and battery life, along with the software engineering challenges and opportunities that this movement brings.
Publisher's Version Article Search
An Introduction to Mobile Payments: Market Drivers, Applications, and Inhibitors
Mark Sherman
(SEI, USA)
This paper provides a market view of mobile payments. It starts with a discussion of the variety and growth of payments being made with mobile devices. The relationship between mobile payments and their core business drivers, mobile banking and mobile commerce, are explored. How mobile devices reduce costs, increase reach and enable omnichannel business processes are discussed. The disintermediating effect of mobile payments on existing payment processes is explored. Finally, a review of some of the inhibitors for mobile payments growth is considered.
Publisher's Version Article Search
Improved Event Driven Architecture for Tizen Sensor Framework
Ramasamy Kannan, Jae-Hyun Jo, and Hyun Sung Go
(Samsung Research, India; Samsung, South Korea)
In this paper, we describe in detail the new event driven architecture for the sensor framework to be used in Tizen. Tizen is an open source, standards-based software platform supported by leading mobile operators, device manufacturers, and silicon suppliers for multiple device categories such as smartphones, tablets, netbooks, in-vehicle infotainment devices, and smart TVs. The Tizen sensor framework before release version 3.0 supports a polling based architecture where the request for sensor events is polled from the applications. The new architecture that will be supported from Tizen 3.0 release would support an event driven architecture, where the sensor events are notified to the applications from the sensor server whenever the events become available in the server. Problems such as dropping of events and duplicate events were observed in the polling based sensor framework architecture when polled events were requested at an interval below 200 milliseconds. With mobile applications requiring an event delivery interval range between 1 millisecond and 1 second, the polling based architecture would be replaced with a new event driven architecture. The new event driven architecture has been designed and implemented to overcome the event handling issues. This paper provides insight into the two Tizen sensor framework architectures and a comparison is made based on our analysis, observations and results. With both architectures having their own advantages and disadvantages, we also look at use cases where both architectures can be used.
Publisher's Version Article Search
Mobile Enablement of Business Process Management Suites
Vadim Eisenberg, Samuel Kallner, and Idan Ben-Harrush
(IBM Research, Israel)
Mobile capabilities are expected to fundamentally change the way enterprises operate. However, enterprises encounter technical challenges in mobile enablement of their existing software products. Among the challenges are user experience optimized for mobile, security, management of mobile applications. In this paper we describe technical challenges and solutions in mobile enablement of Business Process Management products, and, in particular, integration of Business Process Management Suites with Mobile Enterprise Application Platforms.
Publisher's Version Article Search

Research II

Refactoring Local to Cloud Data Types for Mobile Apps
Michael Hilton, Arpit Christi, Danny Dig, Michał Moskal, Sebastian Burckhardt, and Nikolai Tillmann
(Oregon State University, USA; Microsoft Research, USA)
Mobile cloud computing can greatly enrich the capabilities of today’s pervasive mobile devices. Storing data on the cloud can enable features such as automatic backup, seamless transition between multiple devices, and multiuser support for existing apps. However, the process of converting local into cloud data types requires high expertise, is difficult, and time-consuming. Refactoring techniques can greatly simplify this process. In this paper we present a formative study where we analyzed and successfully converted four real-world touchdevelop apps into cloud-enabled apps. Based on these lessons, we designed and implemented, CLOUDIFYER, a tool that automatically refactors local data types into cloud data types on the touchdevelop platform. Our empirical evaluation on a corpus of 123 mobile apps resulting in 2722 transformations shows (i) that the refactoring is widely applicable, (ii) CLOUDIFYER saves human effort, and (iii) CLOUDIFYER is accurate.
Publisher's Version Article Search
Twende-Twende: A Mobile Application for Traffic Congestion Awareness and Routing
Andrew Kinai, Reginald E. Bryant, Aisha Walcott-Bryant, Eric Mibuari, Komminist Weldemariam, and Osamuyimen Stewart
(Carnegie Mellon University, Rwanda; IBM Research, Kenya; Queen's University, Canada)
According to the UN-HABITAT, the city of Nairobi loses half a million USD daily due to congestion on roads designed for a city 10 times smaller. Therefore, there is a great need for traffic management and awareness solutions. Many existing solutions are unsuitable for cities like Nairobi due to economic constraints, dynamic events, uncertainty, and poor infrastructure. Recently, a novel approach called Frugal Innovation has been adopted at IBM Tokyo Research. The approach combines very low quality images (VLQI) captured by existing low-cost cameras with network flow algorithms to accurately estimate traffic flow. We extend their work to develop a mobile app, called Twende-Twende, that provides drivers with real-time traffic information and suggested routes. We incorporate locally relevant context (such as references to landmarks) to predict congestion and create traffic awareness. We deployed the app and evaluated its effectiveness, accuracy and usability. Our initial evaluation indicates that the app enhances the driving experience and can be deployed in other developing countries.
Publisher's Version Article Search
AppEcho: A User-Driven, In Situ Feedback Approach for Mobile Platforms and Applications
Norbert Seyff, Gregor Ollmann, and Manfred Bortenschlager
(University of Zurich, Switzerland; IWA Technologies, Austria; 3scale, Spain)
Mobile platforms and applications are an exciting and important phenomenon in today's software and business world. They are being woven into the fabric of daily life faster than expected. Continuous collection of user feedback enabling the improvement of platforms and applications becomes critical to support the continuous evolution of mobile systems. Particularly user feedback is needed to provide systems that best fit user needs. We have designed a mobile feedback approach, which enables users to document individual feedback on mobile systems in situ. This information can then be evaluated and used as new requirements by developers. Based on this solution we have developed a feedback app for two different mobile platforms. Furthermore, we have conducted a study with smartphone users applying this approach and communicating feedback on a mobile platform and pre-installed apps. The study revealed that users were able to give individual feedback and that a large amount of this feedback was considered to be useful for mobile system improvement by a platform developer.
Publisher's Version Article Search

proc time: 0.31