Ph.D. Defense by Shauvik Roy Choudhary
Title: Cross-Platform Testing and Maintenance of Web and Mobile Applications
Shauvik Roy Choudhary
School of Computer Science
College of Computing at Georgia Tech
Date: Thursday, December 4th, 2014
Time: 12-2pm ET
Location: KACB 2108
Dr. Alessandro Orso (Advisor, School of Computer Science, Georgia Institute of Technology)
Dr. Mayur Naik (School of Computer Science, Georgia Institute of Technology)
Dr. Russell Clark (School of Computer Science, Georgia Institute of Technology)
Dr. Milos Prvulovic (School of Computer Science, Georgia Institute of Technology)
Dr. Mukul Prasad (Senior Researcher, Fujitsu Labs of America)
Modern software applications need to run on a variety of web and mobile platforms with diverse software and hardware level features. Thus, developers of such software need to duplicate the testing and maintenance effort on a wide range of platforms. Often developers are not able to cope with this increasing demand and release software that is broken on certain platforms, affecting a class of customers using such platforms. Hence, there is a need for automating such duplicate activities to assist the developer in coping with the ever increasing demand. The goal of my work is to improve the testing and maintenance of cross-platform web and mobile applications by developing automated techniques for matching the behavior of such applications across different platforms.
To achieve this goal, I have identified three problems relevant in the context of cross-platform testing and maintenance: 1) automated identification of inconsistencies in the same application’s behavior across multiple platforms, 2) detecting missing features between different cross-platform versions of an application, and, 3) automated migration of test suites and possibly other software artifacts across platforms. I present three different scenarios for the development of cross-platform web and mobile applications, and formulate the three problems in the scenario where it is most relevant. To address and mitigate these problems in its corresponding scenario, I present the principled design, development and evaluation of three techniques. The first technique, X-pert identifies inconsistencies in a web application running on multiple web browsers. The second technique, FMAP matches features between the desktop and mobile versions of a web application and reports any missing features across them. The final technique, MigraTest automatically migrates test cases from a mobile application on one platform to its counterpart on another platform.
To evaluate these techniques, I implemented them as prototype tools and ran these tools on real-world subject applications. The empirical evaluation of X-pert shows that it is effective in detecting real-world inconsistencies in web applications, and can provide useful support to developers for the diagnosis and (eventual) elimination of such inconsistencies. In the case of FMAP, the results of my evaluation show that it was able to correctly identify missing features between desktop and mobile versions of the web applications considered, as confirmed by my analysis of user reports and software fixes for these applications. The third technique, MigraTest was able to efficiently migrate test cases between two mobile platform versions of the subject applications.
- Workflow Status:Published
- Created By:Danielle Ramirez
- Modified By:Fletcher Moore