Technology

Our cloud-based testing solution lets the app-developer offload most of their testing work to our servers while they can concentrate on developing the functionalities of their app. Our framework can automatically find bugs such as app-crashes, UI bugs, performance issues, energy-consumption issues, security issues and much more!

System Overview


We aim to provide a test service with fire-and-forget capabilities. The developer simply uploads their app (apk or source-code), chooses the devices to test the app and gets the test results within a few-hours time. Since our solution is deployed on a cloud platform it can be accessed from anywhere in the world. In addition, the testing service runs round-the-clock, which means faster results and smaller turn-around times.

Framework Specifics


The core of our framework relies on being able to extract a model of the app automatically. Once a model of the app has been generated, it is used for systematically testing various properties of the app. On a more abstract level, our framework works in three different stages - i. Model extraction, ii. Property based model exploration and test generation iii. Test result assimilation and prioritization.

Effective Model Generation


Prior to test-generation, our framework automatically generates a model of the app by using our patented model-generation technique. This model captures the ordering between all of the interactable elements (such as buttons, text boxes, etc) within the app. In addition, the generated model also provides a mapping between the events and their respective event-handlers in the app. The model guides the subsequent test-generation step and is instrumental in finding bug-revealing scenarios (test-cases) within the app.

White Paper on Automated Testing

(PDF)
Prof. Abhik Roychoudhury
April 2017

Underlying Research

Click the 'Learn More' button to know more!