Publications
Peer-Reviewed Conferences
- SpecGen: Automated Generation of Formal Program Specifications via Large Language Models
In Proceedings of the 47th International Conference on Software Engineering (ICSE), 2025. - ContractViz: Extending Eclipse Trace Compass for Smart Contract Transaction Analysis
In Proceedings of the 32nd IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), 2025. - Specification Mining for Smart Contracts with Trace Slicing and Predicate Abstraction
In Proceedings of the 32nd IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), 2025. - PropertyGPT: LLM-driven Formal Verification of Smart Contracts through Retrieval-Augmented Property Generation
In Proceedings of 32nd Annual Network and Distributed System Security Symposium (NDSS), 2025. - OpenTracer: A Dynamic Transaction Trace Analyzer for Smart Contract Invariant Generation and Beyond
In Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2024. - An Empirical Study to Evaluate AIGC Detectors on Code Content
In Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2024. - RATCHET: Retrieval Augmented Transformer for Program Repair
In Proceedings of the 35th International Symposium on Software Reliability Engineering (ISSRE), 2024. - Demystifying Invariant Effectiveness for Securing Smart Contracts
In Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering (FSE), 2024. - LightCross: Sharding with Lightweight Cross-Shard Execution for Smart Contracts
In Proceedings of the 42nd IEEE International Conference on Computer Communications (INFOCOM), 2024. - A Vision on Intentions in Software Engineering
In Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE), 2023. - EndWatch: A Practical Method for Detecting Non-Termination in Real-World Software
In Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2023. - CompSuite: A Dataset of Java Library Upgrade Incompatibility Issues
In Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2023. - Smart Contract Parallel Execution with Fine-Grained State Accesses
In Proceedings of the 43rd IEEE International Conference on Distributed Computing Systems (ICDCS), 2023. - Responsibility in Context: On Applicability of Slicing in Semantic Regression Analysis
In Proceedings of the 45th International Conference on Software Engineering (ICSE), 2023. - GALOIS: Boosting Deep Reinforcement Learning via Generalizable Logic Synthesis
In Proceedings of the 36th Conference on Neural Information Processing Systems (NeurIPS), 2022. - SolSEE: A Source-Level Symbolic Execution Engine for Solidity
In Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE), 2022. - Large-Scale Analysis of Non-Termination Bugs in Real-World OSS Projects
In Proceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE), 2022. - Towards Understanding Third-Party Library Dependency in C/C++ Ecosystem
In Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2022. - Identifying Solidity Smart Contract API Documentation Errors
In Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2022. - Property-Based Automated Repair of DeFi Protocols
In Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2022. - InvCon: A Dynamic Invariant Detector for Ethereum Smart Contracts
In Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2022. - Finding Permission Bugs in Smart Contracts with Role Mining
In Proceedings of the 31st ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), 2022. - EvoMe: A Software Evolution Management Engine Based on Differential Factbase
In Proceedings of the 36th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2021. - DIFFBASE: A Differential Factbase for Effective Software Evolution Management
In Proceedings of the 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE), 2021. - EQBENCH: A Dataset of Equivalent and Non-equivalent Program Pairs
In Proceedings of the 18th Mining Software Repositories Conference (MSR), 2021. - Formal Analysis of Composable DeFi Protocols
In Proceedings of the 1st Workshop on Decentralized Finance (DeFi), 2021. - Audee: Automated Testing for Deep Learning Frameworks
In Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2020. - MARBLE: Model-Based Robustness Analysis of Stateful Deep Learning Systems
In Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2020. - ModCon: A Model-Based Testing Platform for Smart Contracts
In Proceedings of the 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE), 2020. - ARDiff: Scaling Program Equivalence Checking via Iterative Abstraction and Refinement of Common Code
In Proceedings of the 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE), 2020. - Towards Automated Verification of Smart Contract Fairness
In Proceedings of the 28th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE), 2020. - GenSlice: Generalized Semantic History Slicing
In Proceedings of the 36th IEEE International Conference on Software Maintenance and Evolution (ICSME), 2020. - Large-Scale Patch Recommendation at Alibaba
In Proceedings of the 42nd International Conference on Software Engineering (ICSE), 2020. - PRECFIX: Large-Scale Patch Recommendation by Mining Defect-Patch Pairs
In Proceedings of the 42nd International Conference on Software Engineering (ICSE), 2020. - Typestate-Guided Fuzzer for Discovering Use-after-Free Vulnerabilities
In Proceedings of the 42nd International Conference on Software Engineering (ICSE), 2020. - A Quantitative Analysis Framework for Recurrent Neural Network
In Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2019. - Coverage-Guided Fuzzing for FeedForward Neural Networks
In Proceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2019. - DeepStellar: Model-Based Quantitative Analysis of Stateful Deep Learning Systems
In Proceedings of the 27th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (FSE), 2019. - VULTRON: Catching Vulnerable Smart Contracts Once and for All
In Proceedings of the 41st International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER), 2019. - Client-Specific Equivalence Checking
In Proceedings of the 33rd IEEE/ACM International Conference on Automated Software Engineering (ASE), 2018. - CSlicerCloud: A Web-Based Semantic History Slicing Framework
In Proceedings of the 40th International Conference on Software Engineering (ICSE), 2018. - Managing Software Evolution through Semantic History Slicing
In Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE), 2017. - FHistorian: Locating Features in Version Histories
In Proceedings of the 21st International Systems and Software Product Line Conference (SPLC), 2017. - A Dataset for Dynamic Discovery of Semantic Changes in Version Controlled Software Histories
In Proceedings of the 14th International Conference on Mining Software Repositories (MSR), 2017. - Precise Semantic History Slicing through Dynamic Delta Refinement
In Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering (ASE), 2016. - Using Metric Temporal Logic to Specify Scheduling Problems
In Proceedings of the 15th International Conference on Principles of Knowledge Representation and Reasoning (KR), 2016. - Semantic Slicing of Software Version Histories
In Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2015. - Angelic Verification: Precise Verification Modulo Unknowns
In Proceedings of the 27th International Conference on Computer Aided Verification (CAV), 2015. - Management of Time Requirements in Component-based Systems
In Proceedings of the 19th International Symposium on Formal Methods (FM), 2014. - Symbolic Optimization with SMT Solvers
In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), 2014. - UFO: Verification with Interpolants and Abstract Interpretation - (Competition Contribution)
In Proceedings of the 19th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), 2013. - Planning as Model Checking Tasks
In Proceedings of the 35th Annual IEEE Software Engineering Workshop (SEW-35), 2012. - UFO: A Framework for Abstraction- and Interpolation-Based Software Verification
In Proceedings of the 24th International Conference on Computer Aided Verification (CAV), 2012. - Translating PDDL into CSP#—The PAT Approach
In Proceedings of the 17th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS), 2012.
Journal Articles
- A Meta-Study of Software-Change Intentions
ACM Computing Surveys, 2024. - Client-Specific Upgrade Compatibility Checking via Knowledge-Guided Discovery
ACM Transactions on Software Engineering and Methodology, 2023. - Demystifying Performance Regressions in String Solvers
IEEE Transactions on Software Engineering, 2023. - Oracle-Supported Dynamic Exploit Generation for Smart Contracts
IEEE Transactions on Dependable and Secure Computing, 2022. - A Survey of Smart Contract Formal Specification and Verification
ACM Computing Surveys, 2021. - Precise Semantic History Slicing Through Dynamic Delta Refinement
Automated Software Engineering, 2019. - Semantic Slicing of Software Version Histories
IEEE Transactions on Software Engineering, 2018. - Model Checking Approach to Automated Planning
Formal Methods in System Design, 2014.
Book Chapters
- Semantic History Slicing
In Handbook of Re-Engineering Software Intensive Systems into Software Product Lines, 2022.
Edited Volumes
- 24th International Conference on Formal Engineering Methods (ICFEM)
ISBN: 978-981-99-7583-9, 2023. - 25th International Conference on Engineering of Complex Computer Systems (ICECCS)
ISBN: 978-1-7281-8558-3, 2020.
Theses
- Managing Software Evolution Through Semantic History Slicing
PhD thesis. University of Toronto, 2018. - Symbolic Abstraction with SMT Solvers
MSc thesis. University of Toronto, 2013.