Speaker: Nariman Mirzaei
Title: Testing Android Apps through Symbolic Execution
Date/Time: Thursday, 11/8/2012 @ 10:30am
Location: 4201, Engineering Building

There is a growing need for automated testing techniques aimed at Android apps. A critical challenge is the systematic generation of test cases. One method of systematically generating test cases for Java programs is symbolic execution. But applying symbolic execution tools, such as Symbolic Pathfinder (SPF), to generate test cases for Android apps is challenged by the fact that Android apps run on Dalvik Virtual Machine (DVM) instead of JVM. In addition, Android apps are event driven and susceptible to path-divergence due to their reliance on an application development framework. This talks provides an overview of a two-pronged approach to alleviate these issues. First, we have developed a model of Android libraries in Java Pathfinder (JPF) to enable execution of Android apps in a way that addresses the issues of incompatibility with JVM and path-divergence. Second, we have leveraged program analysis techniques to correlate events with their handlers for automatically generating Android-specific drivers that simulate all valid events.

Nariman is a Computer Science PhD student at George Mason University. He received his Bachelorís degree in Computer Science from Amirkabir University of Technology in Tehran, Iran in 2007 and then his M.S. Degree from Indiana University--Bloomington in 2009 and became a proud Hoosier. Nariman is currently working toward his dissertation proposal, focusing on test case generation for Android apps under the direction of Dr. Sam Malek.