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

.

Journal Publications

  1. [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*)

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

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

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

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

  6. [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)

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

  8. [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.

  9. [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)

Conference Publications

  1. [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.

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

  3. [POPL 2022b] Linked visualisations via Galois dependencies in ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. Joint work with Roly Perera, Minh Nguyen, and Tomas Petricek. (Core Ranking A*)

  4. [OOPSLA 2021] Synbit: Synthesizing Bidirectional Programs using Unidirectional Sketches in ACM SIGPLAN International Conference on Object-Oriented Programming Systems, Languages and Applications. Joint work with Masaomi Yamaguchi, Kazutaka Matsuda, and Cristina David. (Core Ranking A*)

  5. [ICFP 2020] Sparcl: A Language for Partially-Invertible Computation in ACM SIGPLAN International Conference on Functional Programming. Joint work with Kazutaka Matsuda. (Core Ranking A*)

  6. [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)

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

  8. [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.

  9. [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.

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

  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. [PEPM 2015] Semantic Bidirectionalization Revisited in ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation. Joint work with Shayan Najd.

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

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

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

  20. [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*)

  21. [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*)

  22. [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.

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

  24. [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*)

  25. [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)

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

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

  28. [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.

  29. [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.