Publications

WDD: Weighted Delta Debugging
Toward a Better Understanding of Probabilistic Delta Debugging
T-Rec: Fine-Grained Language-Agnostic Program Reduction Guided by Lexical Syntax
FITS: Inferring Intermediate Taint Sources for Effective Vulnerability Analysis of IoT Device Firmware
Mozi: Discovering DBMS Bugs via Configuration-Based Equivalent Transformation
An Empirical Study of Data Disruption by Ransomware Attacks
LPR: Large Language Models-Aided Program Reduction
Battling against Protocol Fuzzing: Protecting Networked Embedded Devices from Dynamic Fuzzers
AddressWatcher: Sanitizer-Based Localization of Memory Leak Fixes
On the Caching Schemes to Speed Up Program Reduction
PPR: Pairwise Program Reduction
Pushing the Limit of 1-Minimality of Language-Agnostic Program Reduction
Building Dynamic System Call Sandbox with Partial Order Analysis
Revisiting the Evaluation of Deep Learning-Based Compiler Testing
CoopHance: Cooperative Enhancement for Robustness of Deep Learning System
Ad Hoc Syntax-Guided Program Reduction
Finding Deviated Behaviors of Compressed DNN Models for Image Classifications
Compilation Consistency Modulo Debug Information
EDAssistant: Supporting Exploratory Data Analysis in Computational Notebooks with In-Situ Code Search and Recommendation
Bash in the Wild: Language Usage, Code Smells, and Bugs
Toward More Efficient Statistical Debugging with Abstraction Refinement
SnR: Constraint-Based Type Inference for Incomplete Java Code Snippets
Feature-FL: Feature-based Fault Localization
RIFF: Reduced Instruction Footprint for Coverage-Guided Fuzzing
Empirical Evaluation of Smart Contract Testing: What is the Best Choice?
VisFuzz: Understanding and Intervening Fuzzing with Interactive Visualization
Engineering a Better Fuzzer with Synergically Integrated Optimizations
Practical GUI Testing of Android Applications via Model Abstraction and Refinement
Perses: Syntax-Guided Program Reduction
How Test Suites Impact Fault Localization Starting from the Size
AimDroid: Activity-Insulated Multi-level Automated Testing for Android Applications
Skeletal program enumeration for rigorous compiler testing
Stochastic Optimization of Program Obfuscation
Finding Compiler Bugs via Live Code Mutation
Automatic Runtime Recovery via Error Handler Synthesis
Toward Understanding Compiler Bugs in GCC and LLVM
Coverage-Directed Differential Testing of JVM Implementations
Finding and Analyzing Compiler Warning Defects
Finding Deep Compiler Bugs via Guided Stochastic Program Mutation
Randomized Stress-Testing of Link-Time Optimizers
Tsmart-GalsBlock: A Toolkit for Modeling, Validation, and Synthesis of Multi-clocked Embedded Systems
Querying Sequential Software Engineering Data
Automated Prediction of Bug Report Priority Using Multi-Factor Analysis
Efficient Predicated Bug Signature Mining via Hierarchical Instrumentation
TzuYu: Learning Stateful Typestates
Constraint-Based Automatic Symmetry Detection
DRONE: Predicting Priority of Reported Bugs by Multi-Factor Analysis
Mining Succinct Predicated Bug Signatures
Mining Explicit Rules for Software Process Evaluation
Information Retrieval Based Nearest Neighbor Classification for Fine-Grained Bug Severity Prediction
Duplicate Bug Report Detection with a Combination of Information Retrieval and Topic Modeling
Improved Duplicate Bug Report Identification
Towards More Accurate Retrieval of Duplicate Bug Reports
Graph-based Detection of Library API Imitations
A Discriminative Model Approach for Accurate Duplicate Bug Report Retrieval
Classification of Software Behaviors for Failure Detection: A Discriminative Pattern Mining Approach