Computer Science Events
[PAST EVENT] Automated Support for Improving Software Quality Before and After Release
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