Authors marked with * are students I mentored.
2026
(2026). Contextual Associations Between Webpage Elements for Web Accessibility: An Empirical Study. International Symposium on Empirical Software Engineering and Measurement (ESEM), Registered Reports (RR) Track.
(2026). Variability-Aware Fuzzing. ACM/IEEE International Conference on Software Engineering (ICSE).
(2026). Is Call Graph Pruning Really Effective? An Empirical Re-evaluation. ACM/IEEE International Conference on Software Engineering (ICSE).
(2026). An Empirical Study of Fine-Grained Entity Relationships for Tracing Natural Language and Code Vulnerability Artifacts. ACM/IEEE International Conference on Software Engineering (ICSE).
(2026). Static Analysis Traces can help Dynamic Symbolic Execution: a Replication Study. IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), Reproducibility Studies and Negative Results (RENE).
(2026). Interpretable Configuration Optimization for Static Program Verification via Rule-Based and Counterfactual Reasoning. International Symposium on Practical Aspects of Declarative Languages (PADL).
(2026). Visualization Task Taxonomy to Understand the Fuzzing Internals. ACM Transactions on Software Engineering and Methodology.
2025
(2025). SeedUI: Understanding Initial Seeds in Fuzzing. International Workshop on Explainable Automated Software Engineering (Ex-ASE).
(2025). SymbFuzz: Symbolic Execution Guided Hardware Fuzzing. IEEE/ACM International Symposium on Microarchitecture (MICRO).
(2025). Program Feature-based Benchmarking for Fuzz Testing. ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA).
(2025). Teaching AI the 'Why' and 'How' of Software Vulnerability Fixes. ACM International Conference on the Foundations of Software Engineering (FSE).
(2025). An Extensive Empirical Study of Nondeterministic Behavior in Static Analysis Tools. ACM/IEEE International Conference on Software Engineering (ICSE).
(2025). Automatic Mathematic In-Context Example Generation for LLM Using Multi-Modal Consistency. International Conference on Computational Linguistics (COLING).
2024
(2024). Visualizing and Understanding the Internals of Fuzzing. IEEE/ACM International Conference on Automated Software Engineering (ASE), New Ideas and Emerging Results (NIER).
(2024). Visualization Task Taxonomy to Understand the Fuzzing Internals. Fuzzing Workshop (FUZZING).
(2024). RTL-Spec: RTL Spectrum Analysis for Security Bug Localization. IEEE International Symposium on Hardware oriented Security and Trust (HOST).
(2024). Automated Testing Linguistic Capabilities of NLP Models. ACM Transactions on Software Engineering and Methodology.
2023
(2023). ECSTATIC: An Extensible Framework for Testing and Debugging Configurable Static Analysis. ACM/IEEE International Conference on Software Engineering (ICSE).
(2023). ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools. ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), Tool Demonstration.
(2023). DyCL: Dynamic Neural Network Compilation Via Program Rewriting and Graph Optimization. ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA).
(2023). Fuzzing Configurations of Program Options. ACM Transactions on Software Engineering and Methodology.
(2023). An Empirical Assessment of Machine Learning Approaches for Triaging Reports of Static Analysis Tools. Empirical Software Engineering.
2022
(2022). FIXREVERTER: A Realistic Bug Injection Methodology for Benchmarking Fuzz Testing. USENIX Security Symposium. Distinguished Paper Award
(2022). Fuzzing Configurations of Program Options. Fuzzing Workshop (FUZZING).
(2022). SugarC: Scalable Desugaring of Real-World Preprocessor Usage into Pure C. ACM/IEEE International Conference on Software Engineering (ICSE).
(2022). Retrieving Data Constraint Implementations Using Fine-Grained Code Patterns. ACM/IEEE International Conference on Software Engineering (ICSE).
(2022). An Empirical Study of Data Constraint Implementations in Java. Empirical Software Engineering.
(2022). Static Data-flow Analysis for Software Product Lines in C. Automated Software Engineering.
2021
(2021). SATune: A Study-Driven Auto-Tuning Approach for Configurable Software Verification Tools. IEEE/ACM International Conference on Automated Software Engineering (ASE).
(2021). The Impact of Tool Configuration Spaces on the Evaluation of Configurable Taint Analysis for Android. ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA).
Before 2020
(2019). An Empirical Study of Real-World Variability Bugs Detected by Variability-Oblivious Tools. ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE).
(2019). An Empirical Assessment of Machine Learning Approaches for Triaging Reports of a Java Static Analysis Tool. IEEE International Conference on Software Testing, Verification and Validation (ICST).
(2019). Conditional Compilation is Dead, Long Live Conditional Compilation!. ACM/IEEE International Conference on Software Engineering (ICSE), New Ideas and Emerging Results Track.
(2018). Evaluating Fuzz Testing. ACM Conference on Computer and Communications Security (CCS). NSA Best Scientific Cybersecurity Paper
(2018). Evaluating Design Tradeoffs in Numeric Static Analysis for Java. European Symposium on Programming (ESOP).
(2018). Localizing Configurations in Highly-Configurable Systems. International Systems and Software Product Line Conference (SPLC).
(2017). Decomposition Instead of Self-Composition for Proving the Absence of Timing Channels. ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI).
(2016). Revamping JavaScript Static Analysis via Localization and Remediation of Root Causes of Imprecision. ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE).
(2016). Empirical Study of the Dynamic Behavior of JavaScript Objects. Software: Practice and Experience.
(2015). Adaptive Context-sensitive Analysis for JavaScript. European Conference on Object-Oriented Programming (ECOOP).
(2014). State-sensitive Points-to Analysis for the Dynamic Behavior of JavaScript Objects. European Conference on Object-Oriented Programming (ECOOP).
(2013). Practical Blended Taint Analysis for JavaScript. International Symposium on Software Testing and Analysis (ISSTA).