| layout | title | category | |
|---|---|---|---|
default |
~weng |
|
I am a six-year Ph.D. student in the Department of Computer Science at Johns Hopkins University. My advisor is Dr. Scott Smith and I am a member of The Programming Languages Laboratory. I got my joint bachelor's degree from Fudan University and University College Dublin in 2013 and master's degree from JHU in 2018. My one-page CV is here (updated Mar 2023).
My research interests span several aspects of programming languages. I believe programming languages can provide solutions to problems in other areas of computer science. I am active in our lab's weekly seminar and happy to [chat]({{ site.baseurl }}{% link contact.md %}) about them.
Package Managers à la Carte [slide@NJPLS'25]
- Mmodel package managers as distributed key-value stores equipped with version logics.
- Introduce a proof-of-concept framework that enables the modular derivation of package managers with desired feature.
- More to be released soon.
Semantic-Type-Guided Type Checker [lab page]
- Kelvin Qian, Scott Smith, Brandon Stride, Shiwei Weng, Ke Wu, OOPSLA 2024 [page] [doi] [pdf] [repo]
- Semantic typing rather than static typing.
- Focus is on finding incorrect typings, only a single counterexample is needed.
- Have An initial implementation to efficiently find type errors over a functional language with a rich type system
Higher-Order Demand-Driven Symbolic Execution [lab page]
- Zachary Palmer, Theodore Park, Scott Smith, Shiwei Weng, Higher-Order Demand-Driven Symbolic Evaluation, ICFP 2020 [page] [doi] [pdf] [repo] [talk@UMD (slide)] [talk@NJPLS'22]
- Symbolic backwards execution of functional languages.
- Start from any position in programs.
- Establish the soundness and develop a test generation algorithm.
I worked as a Research Intern on Checked C project. I designed and implemented a dataflow analysis which gathers pre/post-conditions at program points and an SMT-based proof framework to reduce false-positive compiler warnings. It's a wonderful summer. Thanks to my mentor Sulekha Kulkarni, the boss David Tarditi and all the team members!
Before graduate school, I took several jobs in start-ups and freelance work, mostly in full-stack web programming.
- ECOOP'24 Extended Review and Artifact Evaluation Committee
- OOPSLA'24 Artifact Evaluation Committee
- OOPSLA'23 Extended Review and Artifact Evaluation Committee (Distinguished Artifact Reviewer)
- Volunteer for SPLASH 2017, SPLASH 2018, ICFP 2020, OCaml 2020
- Attend OPLSS 2022, PLISS 2017, PLMW@SPLASH 2017
- Head Teaching Assistant, 601.426/626 Principles of Programming Languages, Spring 18 (evaluation 1 2) / 19 (evaluation)
- Course Assistant, 601.426/626 Principles of Programming Languages, Spring 20 / 21 / 22 / 23 / 24
- Course Assistant, 601.329 Functional Programming in Software Engineering, Fall 20 / 21 / 22 / 23 / 24
Help opam repository administrating via triaging PR and weekly meeting Note.
Maintain z3-ocaml after fixing a notorious bug lasting for years (explanation on OCaml Discuss).
ChatGPT's propersy for this website.
I play video games. The unexamined game is not worth playing.
I am married to Xiaoxi Chen 陈小溪. I teach her programming and she teaches me human anatomy.
We have a cat but there is usually more at home (2 cats, 3 cats).
