Research

  • Test-Centric Architecture Modeling (ECASE 2017)Funding: NSF CCF-1909085: Test-Centric Architecture Modeling

    This research bridges the gap between software architecture and testing to amplify benefits to both ends. The goal is to develop a family of new architectural modeling and analysis techniques that centered on testing.

  • Testing Evolving Complex Software Systems (ICST 2013 | FSE NIER 2015 | ICSE 2014 | ICSME 2017 | TSE 2018 | ISSRE 2018) Funding: NSF CCF-1652149: Testing Evolving Complex Software Systems

    The goal of this research is to create a novel regression testing framework that can be applied to real-world complex software systems, focusing on the hardware dependence and concurrent control characteristics, throughout their lifetimes.

  • Detecting and Diagnosing System-Level Concurrency Faults (ISSTA 2013 | ITJ 2014 | ICST 2016 | ISSRE 2016 | FSE 2017 | STVR 2017 | TSE 2018 | ASE 2019)Funding: NSF CCF-1464032: An Automated Framework to Debug System-level Concurrency Faults

    This research provides a fully automated framewok for reproducing and diagnosing system-level (inter-process) concurency failures using only default logs collected from the field. It does not require code instrumentation on the production system or rely on the assumption of the availability of multiple failing executions.

  • Testing Embedded Software (APSEC 2010 | ICST 2011 | VEE 2012 | JSS 2014 | ICST 2014 | ICST 2015 | ICSE 2016 | ISSTA 2017 | STVR 2018)This research provides a family of techniques to detect faults in embedded system applications due to incorrect interactions among software, hardware, and environment.
  • Performance Testing and Analysis (ISSTA 2016 | ESEM 2016 | EMSE 2017 | ASE 2018 | JSS 2019)This research provides an automated framework that allows engineers to effectively analyze performance-influence configuration options, detect performance bugs in highly-configurable software systems, and adjust configuration options to achieve higher long-term performance gains.
  • Mining Bug Reports to Support Testing and Debugging (ICSE 2019 | ICSR 2019)This research provides a novel approach, RecDroid, targeted at Android apps, that can automatically analyze bug reports and generate test scripts that will reproduce app crashes. This is the first work on reproducing app crashes directly from the natural language description of bug reports.