Testing android apps through symbolic execution
2012; Association for Computing Machinery; Volume: 37; Issue: 6 Linguagem: Inglês
10.1145/2382756.2382798
ISSN1943-5843
AutoresNariman Mirzaei, Sam Malek, Corina S. Păsăreanu, Naeem Esfahani, Riyadh Mahmood,
Tópico(s)Advanced Malware Detection Techniques
ResumoThere 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 the 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 paper 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.
Referência(s)