Talk by Sai Zhang - Automated Diagnosis of End-User-Fixable Errors

Date

TITLE: Automated Diagnosis of End-User-Fixable Errors

SPEAKER: Sai Zhang, Computer Science and Engineering, University of Washington

HOST: Ivan Beschastnikh

ABSTRACT:

Software errors degrade usability. This talk shows how program
analysis enables software end-users to fix two types of software
errors.

The first technique, called ConfDiagnoser, helps users troubleshoot
software configuration errors. Given a software system that is
exhibiting undesired behavior, it outputs specific configuration
options the user should change. ConfDiagnoser uses a combination of
execution trace comparison and static analysis to link undesired
behavior to configuration options.

The second technique, called FlowFixer, helps users repair UI workflow
errors. Given a new software version's changed UI, in which a user's
desired action is not possible, FlowFixer suggests a replacement UI
action.  FlowFixer uses dynamic profiling, static analysis, and random
testing to reason about code changes.

In addition, I will also briefly discuss my previous work on automated
program analysis techniques to help developers eliminate software
errors and create reliable software systems.

BIO:

Sai Zhang is a PhD candidate in Computer Science and Engineering at
University of Washington. His research draws upon static analysis,
dynamic monitoring, and machine learning to improve software
reliability and error diagnosis in domains ranging from software
configurations and GUI applications to concurrent programs. His recent
work focuses on designing practical program analysis techniques and
tools to empower software end-users, with little or no programming
knowledge, to fix problems in using a complex software system. Home
page: https://zhang-sai.github.io/.