Computer Science Events
[PAST EVENT] Toward Practical Automation for Software Engineering
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
development.
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
work.
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.
Contact
Denys Poshyvanyk