My picture

Xinyu Wang

Assistant Professor
Computer Science and Engineering
University of Michigan, Ann Arbor
Email: xwangsd@umich.edu
Office: 4620 Beyster

[Research] [Teaching] [Publications] [Students] [Service] [CV]

What's new?!

  • (!!) A couple of NSF REU positions available. Please email me with your resume and transcripts if you're interested!
  • Prospectives students: take a look at this link.

  • I am an assistant professor in the Electrical Engineering and Computer Science Department at the University of Michigan.
    My research interests are generally in the areas of programming languages, formal methods, software engineering, and artificial intelligence. I am particularly interested in developing intelligent programming systems that allow programmers and non-programmers to create reliable software easily in a correct-by-construction manner.
    Previously I was a researcher at Microsoft. I obtained my Ph.D. from the University of Texas at Austin.

    Research

    My current research is primarily centered around the topic of program synthesis. This is an emerging field at the intersection of programming systems and artificial intelligence. The basic idea is to make the software development process much easier and more realiable by raising the level of abstraction at which the software behavior is specified. For instance, I have developed several programming-by-example systems that enable end-users to create programs by specifying the desired program's behavior using a few examples. Beyond developing practical systems, I am also excited about understanding the fundamentals of program synthesis. My long-term research goal is to build fundamental intelligent programming techniques that are also useful in practice. Towards this goal, I am currently exploring the following problems.
  • What are important domains that can benefit from program synthesis and how to build practical systems for these domains?
  • How to make program synthesis more usable, in particular, by enriching the interaction modalities with human users?
  • How to design fundamental synthesis algorithms that are general, efficient, generalizable, and multi-modal?

  • Teaching

  • EECS 481. Software Engineering [Fall 2022]
  • EECS 481. Software Engineering [Winter 2022]
  • EECS 598. Intelligent Programming Systems [Fall 2021]
  • EECS 498. Intelligent Programming Systems [Fall 2021]
  • EECS 203. Discrete Mathematics [Winter 2021]
  • EECS 598. Program Synthesis: Techniques and Applications [Fall 2020]

  • Publications

    WebRobot: Web Robotic Process Automation using Interactive Programming-by-Demonstration [pdf]
    Rui Dong, Zhicheng Huang, Ian Iong Lam, Yan Chen, Xinyu Wang
    Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2022

    Web Question Answering with Neurosymbolic Program Synthesis [pdf] [code]
    Jocelyn Chen, Aaron Lamoreaux, Xinyu Wang, Greg Durrett, Osbert Bastani, Isil Dillig
    Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2021

    Synthesizing Data Structure Refinements from Integrity Constraints [pdf]
    Shankara Pailoor, Yuepeng Wang, Xinyu Wang, Isil Dillig
    Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2021

    Interpretable Program Synthesis [pdf][code]
    Tianyi Zhang, Zhiyang Chen, Yuanli Zhu, Priyan Vaithilingam, Xinyu Wang, Elena Glassman
    Proceedings of the ACM SIGCHI Conference on Human Factors in Computing Systems (CHI), 2021

    Automated Policy Synthesis for System Call Sandboxing [pdf]
    ACM SIGPLAN Distinguished Paper Award
    Shankara Pailoor, Xinyu Wang, Hovav Shacham, Isil Dillig
    Proceedings of the ACM on Programming Languages (OOPSLA), 2020

    Sketch-Driven Regular Expression Generation from Natural Language and Examples [pdf][code]
    Xi Ye, Qiaochu Chen, Xinyu Wang, Isil Dillig, Greg Durrett

    Transactions of the Association for Computational Linguistics (TACL), 2020

    Interactive Program Synthesis by Augmented Examples [pdf][code]
    Tianyi Zhang, London Lowmanstone, Xinyu Wang, Elena Glassman

    Proceedings of the ACM Symposium on User Interface Software and Technology (UIST), 2020

    Multi-Modal Synthesis of Regular Expressions [pdf][code]
    Qiaochu Chen, Xinyu Wang, Xi Ye, Greg Durrett, Isil Dillig
    Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2020

    An Efficient Programming-by-Example Framework [pdf]
    Xinyu Wang
    Ph.D. dissertation, 2019

    Relational Program Synthesis [pdf]
    Yuepeng Wang, Xinyu Wang, Isil Dillig
    Proceedings of the ACM on Programming Languages (OOPSLA), 2018

    Learning Abstractions for Program Synthesis [pdf]
    Xinyu Wang, Greg Anderson, Isil Dillig, Ken McMillan
    International Conference on Computer Aided Verification (CAV), 2018

    Automated Migration of Hierarchical Data to Relational Tables using Programming-by-Example [pdf][code]
    Navid Yaghmazadeh, Xinyu Wang, Isil Dillig
    Proceedings of the VLDB Endowment (VLDB), 2018

    Program Synthesis using Abstraction Refinement [pdf]
    Xinyu Wang, Isil Dillig, Rishabh Singh
    Proceedings of the ACM on Programming Languages (POPL), 2018

    Synthesis of Data Completion Scripts using Finite Tree Automata [pdf]
    Xinyu Wang, Isil Dillig, Rishabh Singh
    Proceedings of the ACM on Programming Languages (OOPSLA), 2017

    FIDEX: Filtering Spreadsheet Data using Examples [pdf]
    Xinyu Wang, Sumit Gulwani, Rishabh Singh
    Proceedings of the ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2016

    EXPLORER : Query- and Demand-Driven Exploration of Interprocedural Control Flow Properties [pdf]
    Yu Feng, Xinyu Wang, Isil Dillig, Calvin Lin
    Proceedings of the ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2015

    Bottom-up Context-Sensitive Pointer Analysis for Java [pdf]
    Yu Feng, Xinyu Wang, Isil Dillig, Thomas Dillig
    Asian Symposium on Programming Languages and Systems (APLAS), 2015


    Students

    Rui Dong (PhD student, 2021-)

    Service

  • 2023: PLDI (AEC co-chair)
  • 2022: PLDI (AEC co-chair and PC), OOPSLA (PC), SYNT (PC)
  • 2021: PLDI (PC), APLAS (PC), SPLASH SRC (Reviewer and Judge)
  • 2020: CAV (AEC co-chair and PC), SYNT (PC)
  • 2019: SAS (AEC PC)