GMU Software Engineering Seminar Series Speaker: Kyle Canavera Title: Mining the Execution History of a Software System to Infer the Best Time for its Adaptation. Date/Time: Thursday, 11/8/2012 @ 10:30am Location: 4201, Engineering Building Abstract: An important challenge in dynamic adaptation of a software system is to prevent inconsistencies (failures) and disruptions in its operations during and after change. Several prior techniques have solved this problem with various tradeoffs. All of them, however, assume the availability of detailed component dependency models. This talk presents a complementary technique that solves this problem in settings where such models are either not available, difficult to build, or outdated due to the evolution of the software. Our approach first mines the execution history of a software system to infer a stochastic component dependency model, representing the probabilistic sequence of interactions among the systemís components. We then demonstrate how this model could be used at runtime to infer the ďbest timeĒ for adaptation of the systemís components. We have thoroughly evaluated this research on a multi-user real world software system and under varying conditions. Bio: Kyle Canavera is a student in the Ph.D. program in the Department of Computer Science at George Mason University. Kyle's general research interests are in the fields of software engineering, data mining, and intellectual property law. Kyle received his BS degree in Computer Science from Xavier University in Cincinnati, Ohio. Speaker: Nariman Mirzaei Title: Testing Android Apps through Symbolic Execution Date/Time: Thursday, 11/8/2012 @ 10:30am Location: 4201, Engineering Building Abstract: 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. Bio: 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.