Shangyin Tan

I am a second-year Ph.D. student at UC Berkeley EECS advised by Professor Koushik Sen affilated with the Programming System Group and the Sky Lab. My research interests center around programming languages, including program analysis, testing, deep learning compiler, etc. I am also a part-time student researcher at Google DeepMind (legacy Google Brain), collaborating with Dan Zheng, Ningning Xie, and Gordon Plotkin. I did my undergrad at Purdue University, working with Guannan Wei and Tiark Rompf on building symbolic execution compilers with staging. Outside of my hacking job, I am an active hiker (hiking records), a mediocre trail runner, and a rookie kendo player.

I am open to colloborate on a few projects. Feel free to drop me an email, especially if you are an undergrad!

Find me at \(\text{shangyin}\ at\ \text{berkeley.edu}\), Twitter, or Github. Here is my CV (last updated Aug 20, 2023).

Preprints (Work in Progress)
  1. Choix: Choice-based Learning in Jax
    Shangyin Tan*, Dan Zheng*, Gordon Plotkin, Ningning Xie
    Workshop on ML for Systems at NeurIPS 2023
    [paper]     [code]
  2. DSPy Assertions: Computational Constraints for Self-Refining Language Model Pipelines
    Arnav Singhvi*, Manish Shetty*, Shangyin Tan*, Christopher Potts, Koushik Sen, Matei Zaharia, Omar Khattab
    [paper]     [code]
Publications
  1. ItyFuzz: Snapshot-Based Fuzzer for Smart Contract.
    Chaofan Shou, Shangyin Tan, Koushik Sen
    The ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA) 2023
    [paper]     [code]
  2. Compiling Parallel Symbolic Execution with Continuations.
    Guannan Wei, Songlin Jia, Ruiqi Gao, Haotian Deng, Shangyin Tan, Oliver Bračevac, Tiark Rompf
    The IEEE/ACM International Conference on Software Engineering (ICSE) 2023
    [acm dl]     [code]
  3. INTENT: Interactive Tensor Transformation Synthesis.
    Zhanhui Zhou, Man To Tang, Qiping Pan, Shangyin Tan, Xinyu Wang, Tianyi Zhang
    Symposium on User Interface Software and Technology (UIST) 2022
    [paper]     [tool]
  4. Towards Partially Evaluating Symbolic Interpreters for All.
    Shangyin Tan, Guannan Wei, Tiark Rompf.
    The ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM 2022)
    [paper]     [tool]
  5. LLSC: A Parallel Symbolic Execution Compiler for LLVM IR.
    Guannan Wei, Shangyin Tan, Oliver Bračevac, Tiark Rompf.
    Proceedings of The 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE 2021)
    [acm dl]     [tool]
  6. Compiling Symbolic Execution with Staging and Algebraic Effects.
    Guannan Wei, Oliver Bračevac, Shangyin Tan, Tiark Rompf.
    Proceedings of the ACM on Programming Languages, Volume 4 (OOPSLA 2020).
    [acm dl]     [code]
Teaching - Purdue University
Quote
"Simplicity is prerequisite for reliability."
-- Edsger W. Dijkstra
"A composition is always more than the sum of its parts."
-- Yo-Yo Ma