[PAST EVENT] Toward Practical Automation for Software Engineering

October 26, 2018
3pm - 4pm
McGlothlin-Street Hall
251 Jamestown Rd
Williamsburg, VA 23185Map this location

Speaker: Kevin Moran, William & Mary

Title: Toward Practical Automation for Software Engineering

Abstract: The practice of software engineering has seen striking

advances with regard to the adoption of highly flexible, streamlined

development methodologies centered around a set of core agile

principles. However, the highly iterative nature of these practices,

combined with the increasing size and complexity of modern software

systems, necessitates support in the form of practical automation. In

this talk, I will first argue that there is a need for intelligent,

developer-centric approaches for automating various parts of modern

software engineering processes. Then, I will present three approaches

that enable such automation in the context of mobile application


First, I will introduce a technique, called GVT, that improves the

quality of graphical user interfaces (GUIs) for mobile apps by

automatically detecting instances where a GUI was not implemented to

its intended specifications. GVT does this by constructing hierarchal

models of mobile GUIs from metadata associated with both graphical

mock-ups (i.e., created by designers using photo-editing software) and

dynamic instances of the GUI from the corresponding implementation.

Second, I will present an approach that completely automates the

process of prototyping GUIs for mobile apps. This approach, called

REDRAW, is able to transform an image of a mobile app GUI into

runnable code by detecting discrete GUI-components using computer

vision techniques, classifying these components into proper functional

categories (e.g., button, dropdown menu) using a Convolutional Neural

Network (CNN), and assembling these components into realistic code.

Finally, I will present a novel approach for automated testing of

mobile apps, called CrashScope, that explores a given Android app

using systematic input generation with the intrinsic goal of

triggering crashes. The GUI-based input generation engine is driven by

a combination of static and dynamic analyses that create a model of an

app?s GUI and targets common, empirically derived root causes of

crashes in Android apps.

The talk will conclude with a reflection on some of the successful

elements of the presented projects that enabled practical automation

within industrial contexts as well as promising avenues for future


Bio: Kevin Moran is currently a Post-Doctoral Fellow in the Computer

Science Department at William & Mary and a senior member of the SEMERU

research group. He graduated with a B.A. in Physics from the College

of the Holy Cross in 2013, and M.S. and Ph.D. degrees in Computer

Science from William & Mary in 2015 and 2018 respectively. His main

research interest involves facilitating the processes of software

engineering, maintenance, and evolution with a focus on mobile

platforms. He has published in several top peer-reviewed software

engineering and computer security venues including: ICSE, ESEC/FSE,

TSE, USENIX, ICST, ICSME, and MSR. He was recognized as the

second-overall graduate winner in the ACM Student Research competition

at ESEC/FSE'15. Moran is a member of IEEE and ACM. More information is

available at http://www.kpmoran.com.


Denys Poshyvanyk