Assessing and Improving the Software Quality of Mobile Applications
Source de subvention
Conseil de Recherches en Sciences Naturelles et Génie du Canada (CRSNG)
Professeur(e)s impliqués
Résumé
The last decade has witnessed a huge increase in the number of mobile applications (a.k.a. mobile apps) available to end users. Mobile apps invaded all areas of our daily lives not only games, entertainment, and social networking but also business, education, finance, and health. The ever-increasing user requirements and popularity of mobile apps have led mobile developers to implement, maintain, and evolve apps rapidly and under pressure. Hence, software engineers may not always follow good design and implementation practices, a.k.a. patterns , and may adopt bad practices, called by opposition antipatterns . The presence of antipatterns may lead to poor software quality, thus hindering the evolution of apps and degrading the quality of the end-user experience. I intend to contribute to the important challenge of « Preserving and improving software quality » in the context of mobile-oriented evolution. The long-term objective of this research program is to build a recommender system for assessing and improving the software quality of mobile apps. This work will provide mobile engineers with techniques and tools to support their evolution tasks and to deliver a better experience to end-users. We will achieve this objective by proposing and applying a methodology to detect and correct mobile antipatterns, and evaluate their impact in mobile apps relying on various mobile platforms . This program is novel and original as we target software systems of prominent importance, mobile apps, which are constantly evolving along their underlying frameworks, and are updated much more frequently than other traditional software systems. Moreover, we do not focus only on the detection but also on the correction of antipatterns, a difficult problem to tackle. Besides the correction, the other challenges to face in this research program are handling the dynamic nature of mobile apps, their constraints (e.g. CPU, memory, battery, etc.) and their various mobile platforms (iOS, Android, Windows Phone, BlackBerry, etc.). Thanks to this recommender system, we can easily envision that mobile engineers would be eager to inspect in a dashboard how the software quality of their apps evolves, while they are under the pressure of aggressively updating the apps to meet user demands. Moreover, this work will deepen our understanding of mobile antipatterns and of their impact on software quality. Indeed, given the crucial role of software evolution in mobile development and the importance of user experience, we expect that our research result will be a source of competitive advantage for the Canadian mobile industry by providing opportunities for innovation. This research program will train 11 Highly Qualified Personnel, i.e., 2 PhD, 4 MSc and 5 BSc students, who will develop an expertise in software quality improvement, and gain extensive hands-on experience with mobile development and evolution on large and complex systems.
