News: The submission deadline has been extended to June 1, 2013.
Mobile software engineering presents new challenges and directions. Among others, we observe the following five areas of interest:
- Management of the mobile applications. This refers to the technical capabilities to create, deploy, and manage a suite of applications for multiple heterogeneous devices (e.g., iOS, Android, BlackBerry, Windows) that connect securely to enterprise back-end servers.
- User experience. Applications must be developed that provide different user experiences depending on the target environment. For example, an iOS application provides a different user experience than an Android application, even though the functionality of the application must be the same.
- Battery capabilities. How can developers write software that uses up as little battery life as possible?
- Migrations to mobile. As more users access and use mobile-based tools, developers need to enable and support migration from legacy software such as web applications to mobile.
Moreover, the development of mobile applications includes the following aspects that extend existing software engineering practices:
- Software characteristics. 1) Software is distributed on several platforms that link between them over the network. For example, one part of an application could be on mobile phones browsers, another part might be on the cloud, and both of them are reading data from some legacy systems. 2) Mobile applications need to be elastic and scale on demand according to their environments' abilities. Functionalities need to be easily removed, added, or moved to or from the cloud. 3) Many hardware platforms exist for an application and the platforms are rapidly changing, including flexible capabilities such as GPS, sensors, and input modes. Development, however, should be for all platforms.
- Architecture. Mobile application development also includes several architectural challenges, such as how to support omni-channel communications and how to support new application data updates from the server, e.g., notifications about new mail or software updates. Applications must be able to easily communicate with new systems. Traditional solutions enable software to be easily designed and modified to communicate with new environments. However, the environments with which applications need to communicate are rapidly changing. As a result, traditional solutions do not fit modern software and we cannot modify applications using traditional architectural approaches to support all channels.
- Testing. Another aspect of mobile application development concerns software testing. How can applications be tested on arbitrary and unknown hardware? And how can we develop test-driven software without being able to run the test itself?
The topics include, but are not limited to:
- Mobile development environments and tools
- Mobile testing
- Agile development for mobile applications
- Empirical studies and metrics
- Maintenance and evolution
- Mobile patterns, frameworks, and product lines
- Mobile software refactoring, restructuring, and renovation
- Mobile program transformation and optimization
- Practice and experience reports
- Management of mobile applications
- Event processing for mobile
- User experience of mobile applications
- Hybrid versus native applications
- Model-driven development for mobile
- Application security
- Mobile operating system and middleware security
- Secure application development methodologies
- Cloud support for mobile security
- Static and dynamic analysis of mobile applications
- Mobile optimization debugging techniques and tools
- Research challenges in mobile software engineering