Shangyin Tan

I am now a research assistant at Microsoft Research Asia working with Quanlu Zhang, Fan Yang, Yanjie Gao, and Haoxiang Lin on tooling for machine learning and deep learning systems. I will join UC Berkeley EECS as a PhD student in Fall 2022. I was an undergraduate student at Purdue University, working with Guannan Wei and Tiark Rompf. We did research in programming languages, program analysis, and compilers. We are applying compiler technologies to traditional program analysis tools (e.g.. symbolic execution) for flexibility and modularity while achieving the same or better performance.

Besides programming, I enjoy sleeping, traveling, and good food. I also share some random notes about my life. Occasionally, I blog in Mandarin for fun.

You can find me at \(\text{tan279}\ at\ \text{purdue.edu}\), Twitter, or Github. Here is my CV.

Publications
  1. 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]
  2. 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]
  3. 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