My PhD work focuses on change-driven software testing, analysis, and verification. My research covers
regression testing, which is a widely used methodology to validate that manual developer
changes to code, say to refactor
it, fix known bugs or meet new requirements, are not erroneous (see my papers at ICSM'11, ISSRE'11, TSE'12, JSME'13, and ICSE'13), as well as mutation testing, which is a widely used methodology
to evaluate testing techniques by injecting mechanical mutation changes to code (see my papers at ICSM'10, ASE'13, and ISSTA'13).
In addition, my research also proposes the first unification of manual developer changes
and mechanical mutation changes: (1) the foundations of regression testing enable more efficient mutation testing (see my papers at ISSTA'12 and ISSTA'13); and
(2) the foundations of mutation testing enable more precise debugging in regression testing (see my paper at OOPSLA'13).

Besides my main research interests in software engineering, my research work also covers formal methods and programming languages, including symbolic execution,
model checking, first-order logic, dynamic invariant inference, and points-to analysis. While my current research work mainly
aims to help people build more reliable software systems, I also interested in
concurrent computing, cloud computing, security, and human computer interaction, since I also fascinated with building faster, as well as more
portable, secure, and accessible software systems.

Hobbies

Marathon, Basketball, Cycling, Mountaineering, Bowling, Reading...

Last update: Oct., 2018 by Lingming Zhang
(c)2018 CS, University of Texas at Dallas