[PAST EVENT] Mario Linares Vasquez, Computer Science, Ph.D. Candidate

May 4, 2016
10am - 12pm
Wren Building, Grammar School Room
111 Jamestown Rd
Williamsburg, VA 23185Map this location

Mobile App developers and testers face a number of emerging challenges. These include rapid platform evolution and API instability; platform fragmentation; the impact of reviews and ratings on the success of their apps; management of crowd-sourced requirements; continuous pressure from the market for frequent releases; lack of effective and usable testing tools; and limited computational resources for handheld devices. Traditional and contemporary methods in software evolution and maintenance were not designed for these types of challenges; therefore, a set of studies and a new toolbox of techniques for mobile development are required to analyze current challenges and propose new solutions.

This dissertation presents a set of empirical studies, as well as solutions for some of the key challenges when evolving and maintaining Android apps. In particular, we analyzed key challenges experienced by practitioners and open issues in the mobile app development community such as (i) Android API instability, (ii) performance optimizations, (iii) automatic GUI testing, and (iv) energy consumption. When carrying out the studies, we relied on qualitative and quantitative analyses to understand the phenomena on a large scale by considering evidence extracted from software repositories and the opinions of open-source mobile developers.

From the empirical studies, we identified that dynamic analysis is a relevant method for several evolution and maintenance tasks, in particular, because of the need of practitioners to execute/validate the apps on a diverse set of platforms (i.e., device and OS) and under pressure for continuous delivery. Therefore, we designed and implemented an extensible infrastructure that enables large-scale automatic execution of Android apps to support different evolution and maintenance tasks (e.g., testing and energy optimization).

Finally, we devised novel approaches aimed at supporting testing and energy optimization of mobile apps (two key challenges in evolution and maintenance of Android apps). First, we propose a novel hybrid approach for automatic GUI-based testing of apps that is able to generate (un)natural test sequences by mining real applications usages and learning statistical models that represent the GUI interactions. Second, we propose a multi-objective approach for optimizing the energy consumption of GUIs in Android apps that is able to generate visually appealing color compositions, while reducing the energy consumption and keeping a design concept close to the original.


Mario Linares-Vasquez is a Ph.D. candidate at William & Mary advised by Dr. Denys Poshyvanyk. He received his B.S. in Systems Engineering from Universidad Nacional de Colombia in 2005, and his M.S. in Systems Engineering and Computing from Universidad Nacional de Colombia in 2009. His research interests include mobile development, software evolution and maintenance, software architecture, mining software repositories, and application of data mining and machine learning techniques to support software engineering tasks. Mario has been awarded with an ACM SIGSOFT Distinguished Paper Award at FSE?15, the 2015 International Student Achievement Award from the Reves Center, and the 2016 Stephen K. Park Graduate Research Award from the CS department.