ORCID iD iconhttps://orcid.org/0000-0001-7780-630X

In submission

  1. Towards Translating Real-World Code with LLMs: A Study of Translating to Rust.

2024

  1. [TOSEM 2024] An Empirical Study of the Non-determinism of ChatGPT in Code Generation in ACM Transactions on Software Engineering and Methodology. Joint work with Shuyin Ouyang, Jie M. Zhang, and Mark Harman. (Core Ranking A*)

  2. [ECOOP 2024] Formalizing, Mechanizing, and Verifying Class-based Refinement Types in European Conference on Object-Oriented Programming. Joint work with Ke Sun, Di Wang, Sheng Chen, and Dan Hao. (Core Ranking A) (Distinguished Paper)

  3. [ESOP 2024] Reconciling Partial and Local Invertibility in European Symposium on Programming. Joint work with Anders Ågren Thuné and Kazutaka Matsuda. (Core Ranking A)

  4. [JFP 2024] Sparcl: A Language for Partially-Invertible Computation in Journal of Functional Programming. Joint work with Kazutaka Matsuda. (Core Ranking A)

2023

  1. [APLAS 2023] What Types are Needed for Typing Dynamic Objects? A Python-based Empirical Study in Asian Symposium on Programming Languages and Systems (APLAS). Joint work with Ke Sun, Sheng Chen, and Dan Hao.

  2. [JFP 2023] Contract Lenses: Reasoning about Bidirectional Programs via Calculation in Journal of Functional Programming. Joint work with Hanliang Zhang, Wenhao Tang, Ruifeng Xie, and Zhenjiang Hu. (Core Ranking A)

  3. [FMSD 2023] Synbit: Synthesizing Bidirectional Programs using Unidirectional Sketches in Journal of Formal Methods in System Design (FMSD). Joint work with Masaomi Yamaguchi, Kazutaka Matsuda, and Cristina David. (Core Ranking A)

  4. [Haskell 2023] Effect Handlers for Programmable Inference in ACM SIGPLAN Haskell Symposium. Joint work with Minh Nguyen, Roly Perera, and Steven Ramsay.

  5. [ICFP 2023a] Embedding by Unembedding in Proceedings of the ACM on Programming Languages (PACMPL ICFP). Joint work with Kazutaka Matsuda, Samantha Frohlich, and Nick Wu. (Core Ranking A)

  6. [ICFP 2023b] Reflecting on Random Generation in Proceedings of the ACM on Programming Languages (PACMPL ICFP). Joint work with Harrison Goldstein, Samantha Frohlich, and Benjamin C. Pierce. (Core Ranking A) (Distinguished Paper)

  7. [CAV 2023] Ownership guided C to Rust translation in International Conference on Computer Aided Verification (CAV). Joint work with Hanliang Zhang, Cristina David, and Yijun Yu. (Core Ranking A*)

  8. [TOSEM 2023] Exploring Better Black-Box Test Case Prioritization via Log Analysis in ACM Transactions on Software Engineering and Methodology. (Core Ranking A*)

2022

  1. [ICFP 2022] Modular Probabilistic Models via Algebraic Effects in Proceedings of the ACM on Programming Languages (PACMPL ICFP). Joint work with Minh Nguyen, Roly Perera and Nicolas Wu. (Core Ranking A)

  2. [Internetware 2022] Bridging the Gap between Different Programming Paradigms in Coverage-based Fault Localization in Proceedings of the Asia-Pacific Symposium on Internetware. Joint work with Feng Li and Dan Hao.

  3. [PADL 2022] CircuitFlow: A Domain Specific Language for Dataflow Programming in International Symposium on Practical Aspects of Declarative Languages. Joint work with Riley Evans and Samantha Frohlich.

  4. [POPL 2022a] Staging with Class - A specification for Typed Template Haskell in Proceedings of the ACM on Programming Languages (PACMPL POPL). Joint work with Ningning Xie, Matthew Pickering, Andres Loh, Nicolas Wu, and Jeremy Yallop. (Core Ranking A*)

  5. [POPL 2022b] Linked visualisations via Galois dependencies in Proceedings of the ACM on Programming Languages (PACMPL POPL). Joint work with Roly Perera, Minh Nguyen, and Tomas Petricek. (Core Ranking A*)

pre 2021

  1. [OOPSLA 2021] Synbit: Synthesizing Bidirectional Programs using Unidirectional Sketches in Proceedings of the ACM on Programming Languages (PACMPL OOPSLA). Joint work with Masaomi Yamaguchi, Kazutaka Matsuda, and Cristina David. (Core Ranking A*)

  2. [ICFP 2020] Sparcl: A Language for Partially-Invertible Computation in Proceedings of the ACM on Programming Languages (PACMPL ICFP). Joint work with Kazutaka Matsuda. (Core Ranking A*)

  3. [ICST 2019] Do Pseudo Test Suites Lead to Inflated Correlation in Measuring Test Effectiveness? in IEEE International Conference on Software Testing, Verification and Validation. Joint work with Jie Zhang, Lingming Zhang, Dan Hao, and Lu Zhang. (Core Ranking A)

  4. [ESOP 2019] Composing Bidirectional Programs Monadically in European Symposium on Programming. Joint work with Li-yao Xia and Dominic Orchard. (Core Ranking A)

  5. [TSE 2019] A Study of Bug Resolution Characteristics in Popular Programming Languages in IEEE Transactions on Software Engineering. Joint work with Jie M. Zhang, Feng Li, Dan Hao, Hao Tang, Lu Zhang, and Mark Harman. (Core Ranking A*)

  6. [IFL 2018] Delta Debugging Type Errors with a Blackbox Compiler in International Symposia on Implementation and Application of Functional Languages. Joint work with Joanna Sharrad and Olaf Chitil.

  7. [Erlang 2018] Understanding Formal Specifications through Good Examples in ACM SIGPLAN Erlang Workshop. Joint work with Alex Gerdes, John Hughes, Nicholas Smallbone, Stefan Hanenberg, and Sebastian Ivarsson.

  8. [Haskell 2018] Embedding Invertible Languages with Binders: A Case of the FliPpr Language in ACM SIGPLAN Haskell Symposium. Joint work with Kazutaka Matsuda.

  9. [NGC 2018] FliPpr: A System for Deriving Parsers from Pretty-Printers in New Generation Computing. Joint work with Kazutaka Matsuda.

  10. [JFP 2018] Applicative Bidirectional Programming: Mixing Lenses and Semantic Bidirectionalization in Journal of Functional Programming. Joint work with Kazutaka Matsuda. (Core Ranking A)

  11. [ESOP 2018] HOBiT: Programming Lenses without using Lens Combinators in European Symposium on Programming. Joint work with Kazutaka Matsuda. (Core Ranking A)

  12. [Internetware 2017] Un-preprocessing: Extended CPP that works with your tools in Asia-Pacific Symposium on Internetware. Joint work with Yufeng Cheng, Yingfei Xiong, Zhengkai Wu, Yiming Wu, and Lu Zhang

  13. [ICST 2016] Empirical Evaluation of Test Coverage for Functional Programs in IEEE International Conference on Software Testing, Verification and Validation. Joint work with Yufeng Cheng, Yingfei Xiong, Dan Hao, and Lu Zhang (Core Ranking A)

  14. [Erlang 2015] Linking Unit Tests and Properties in ACM SIGPLAN Erlang Workshop. Joint work with Alex Gerdes, John Hughes, and Nick Smallbone.

  15. [ICFP 2015] Applicative Bidirectional Programming with Lenses in ACM SIGPLAN International Conference on Functional Programming. Joint work with Kazutaka Matsuda. (Core Ranking A*)

  16. [NSR 2015] How Functional Programming Mattered in National Science Review. Joint work with Zhenjiang Hu and John Hughes. (IF 8.843)

  17. [SCP 2015] “Bidirectionalization for Free” for Monomorphic Transformations in Science of Computer Programming. Joint work with Kazutaka Matsuda. (Core Ranking A)

  18. [PEPM 2015] Semantic Bidirectionalization Revisited in ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation. Joint work with Shayan Najd.

  19. [JFP 2013] Enhancing Semantic Bidirectionalization via Shape Bidirectionalizer Plug-ins in Journal of Functional Programming. Joint work with Janis Voigtländer, Zhenjiang Hu, and Kazutaka Matsuda. (Core Ranking A)

  20. [PPDP 2013] Bidirectionalization for Free with Runtime Recording in International Symposium on Principles and Practice of Declarative Programming. Joint work with Kazutaka Matsuda.

  21. [ESOP 2013] FliPpr: A Prettier Invertible Printing System in European Symposium on Programming. Joint work with Kazutaka Matsuda. (Core Ranking A)

  22. [SCP 2012] Refactoring Pattern Matching in Science of Computer Programming. Joint work with Jeremy Gibbons, Kazutaka Matsuda, and Zhenjing Hu. (Core Ranking A)

  23. [Haskell 2012] Feat: Functional Enumeration of Algebraic Types in ACM SIGPLAN Haskell Symposium. Joint work with Jonas Duregård and Patrik Jansson.

  24. [ICFP 2011] Incremental Updates for Efficient Bidirectional Transformations in ACM SIGPLAN International Conference on Functional Programming. Joint work with Jeremy Gibbons and Nicolas Wu. (Core Ranking A*)

  25. [HOSC 2011] Side-Effect Localization for Lazy, Purely Functional Languages via Aspects in Higher-Order and Symbolic Computation. Joint work with Kung Chen, Shu-Chun Weng, Jia-Yin Lin, and Siau-Cheng Khoo.

  26. [ICFP 2010] Combining Syntactic and Semantic Bidirectionalization in ACM SIGPLAN International Conference on Functional Programming. Joint work with Janis Voigtländer, Zhenjiang Hu, and Kazutaka Matsuda. (Core Ranking A*)

  27. [SCP 2010] Type-Directed Weaving of Aspects for Polymorphically Typed Functional Languages in Science of Computer Programming. Joint work with Kung Chen, Shu-Chun Weng, Siau- Cheng Khoo, and Chung-Hsin Chen. (Core Ranking A)

  28. [MPC 2010] Gradual Refinement: Blending Pattern Matching with Data Abstraction in International Conference on Mathematics of Program Construction. Joint work with Jeremy Gibbons, Kazutaka Matsuda, and Zhenjing Hu.

  29. [WGP 2009] What Does Aspect-Oriented Programming Mean for Functional Programmers? in ACM SIGPLAN Workshop on Generic Programming. Joint work with Bruno Oliveria.

  30. [OOPSLA 2007] The VISITOR Pattern as a Reusable, Generic, Type-Safe Component in International Conference on Object-Oriented Programming, Systems, Languages, and Applications. Joint work with Bruno Oliveria and Jeremy Gibbons. (Core Ranking A*)

  31. [SAS 2007] A Compilation Model for Aspect-Oriented Polymorphically Typed Functional Languages in International Static Analysis Symposium. Joint work with Kung Chen, Shu-Chun Weng, Siau-Cheng Khoo, and Chung-Hsin Chen. (Core Ranking A)

  32. [FOAL 2007] Aspect-Oriented Programming with Type Classes in Foundations of Aspect-Oriented Languages. Joint work with Martin Sulzmann.

  33. [WGP 2006] Modular Generic Programming with Extensible Superclasses in ACM SIGPLAN Workshop on Generic Programming. Joint work with Martin Sulzmann.

  34. [FOAL 2006] On The Pursuit of Static and Coherent Weaving in Foundations of Aspect-Oriented Languages. Joint work with Kung Chen and Siau-Cheng Khoo.

  35. [PEPM 2006] Type-Directed Weaving of Aspects for Higher-order Functional Languages in ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation. Joint work with Kung Chen and Siau-Cheng Khoo.