Mobile applications represent an already tremendous, but still quickly growing market. In a world where users have ample choice of apps in overcrowded app stores, every bug can be the demise of an app. The scale of economic damage caused by software problems in mobile apps is huge, and is only overshadowed by the threat posed by increased usage of apps in safety relevant scenarios.The traditional answer of software engineers to these software bugs is software testing. However, mobile apps pose challenges over the already complex and error prone task of software testing. Automation is desirable to overcome these challenges, yet existing techniques to automate test generation struggle with complex user interactions in mobile apps (e.g. input data, tap, double tap, long press, gestures), interactions with the environment (e.g. sensors, camera, GPS), external events (e.g. other applications of OS), and multiple configurations (e.g. different devices and OS properties). In order to handle the complexity of the problem of automating tests for mobile apps, we propose to develop a search-based approach, where tests consisting of complex user and environment interactions will be generated automatically, guided by search heuristics based on functional as well as structural criteria. The availability of such a search-based testing framework will support app developers and app store maintainers in increasing the quality of their products, and it will serve as foundation for future research on mobile apps. The ambitious goals of this research project are made feasible by a combination of the experience of the principal investigator and the host institution, which has a track record in successful development of search-based approaches.
News published in Agência FAPESP Newsletter about the scholarship: