FSE 2015
Theme and Topics
Important Dates
Call for Papers
Keynote Speakers
Papers Submission
Our Events

NEWS for DeMobile'15: We will have a workshop dinner that is subsidized at the La Cantina restaurant. The dinner cost is partially (or most probably, totally) covered by the DeMobile Organization.

Mobile software engineering presents new challenges and directions. Among others, we observe the following seven 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, etc.) that connect securely to enterprise back-end servers.
  • Hybrid applications versus native applications. A native application is an application designed to run in a specific environment written in a specific language. A hybrid mobile application, however, is developed using web technologies such as HTML, CSS, and JavaScript activated by a native wrapper. Building native applications requires comprehensive knowledge in the specific environment, such as Objective C (iOS), Java (Android), and C# (Windows mobile and BlackBerry). However, hybrid applications based on web technologies require more common knowledge.
  • 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.
  • Energy Consumption. How can developers write software that uses as little energy 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.
  • Mobile security. Mobile devices have strong networking capabilities. Hence, security of personal information and businesses data becomes very important. Employees use their smartphones to access sensitive information. The operating systems of these devices collect sensitive data that may be visible to third-party applications. Hence, vulnerabilities from both the web browser and operating system must be considered.
  • Quality assurance. "Right first time" is one of the property that characterizes mobile applications, that must be functionally correct, usable, performant, and secure, even when they are free of charge.

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
  • Software Architectures for mobile applications
  • Maintenance and evolution
  • Mobile patterns, frameworks, and product lines
  • Mobile software refactoring, restructuring, and renovation
  • User-centric design of mobile applications
  • Mobile program transformation and optimization
  • Practice and experience reports
  • Management of mobile applications
  • 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