Automated Support for Improving Software Quality Before and After Release

February 27, 2019
8am - 9am
Location
McGlothlin-Street Hall, Room 020
251 Jamestown Rd
Williamsburg, VA 23185Map this location

Speaker:  Mattia Fazzini, Georgia Institute of Technology


Abstract:

Due to the importance of software quality, companies invest a great

number of resources in software verification, and in particular in

testing. It is therefore crucial to develop and use testing approaches

that are both effective and efficient. At the same time, because

exhaustive testing is not generally possible, software is released

with bugs and these bugs will translate into field failures. The

ability to react effectively to field failures is therefore also

essential to resolve bugs, but the support for this task is still

limited and based on mostly manual, human-intensive approaches. The

overarching goal of my research is to improve software quality by

devising novel techniques that account for software bugs before and

after release.


In particular, this talk will present the work I did towards my goal

in the context of mobile applications (or simply apps). I will first

provide an overview of my research in this domain and then discuss in

detail two of the techniques I developed: Yakusu and AppEvolve. Yakusu

automatically translates natural-language bug reports into test cases,

so that developers can use the generated tests to focus their

attention on debugging failures and quickly fix their apps. AppEvolve

prevents failures by accounting for changes to the environment in

which apps operate; it automatically updates API usages (i.e.,

interactions with the underlying environment) in an app by analyzing

how developers of other apps performed corresponding changes. I will

conclude my talk with a discussion of open challenges and future

research directions.


Bio:

Mattia Fazzini is a Ph.D. candidate in the School of Computer Science

at the Georgia Institute of Technology. His research interests lie

primarily in the area of software engineering, with emphasis on

techniques for improving software quality. The central theme of his

research is the development of techniques for testing and maintenance

of mobile applications. He is also interested in defining techniques

for improving the security of software.

Contact

Denys Poshyvanyk