Abstract:
A large number of web applications are written using server-side scripting languages.
Although web browsers allow clients to run these applications, it is often
cumbersome to depend on the desktops for the services provided by the applications.
Given the popularity and convenience of mobile devices, there is an obvious
need to have native mobile apps driving the applications along with web browsers.
In this thesis, we present a solution to re-engineer web applications, developed
using server-side scripting languages, into native mobile apps. The solution takes
source code and test cases of the web application as input and produces corresponding
cross platform mobile apps. The entire re-engineering process is fully
automatic requiring no manual intervention at any stage. Our solution is generic
enough not only to handle popular server-side scripting languages, but also to output
mobile apps that support diverse popular platforms including Android, iOS,
and Windows Mobile. To showcase the generality of our solution, we have developed
a prototype tool Kirke to handle applications developed using Java(JSP),
ASP.NET, and PHP. We present a case study based on a real-life codebase in JSP
to evaluate the correctness, coverage, usability, and performance of our solution.