I'm an undergraduate student studying computer science at University of Michigan (UM). I was admitted into the dual degree program of UM and Shanghai Jiao Tong University (SJTU) in sophomore year.
My research interests lie in programming language and compiler. I've worked in FPLab since 2019.
I started coding as a member of the programming contest group in 2012. I dreamed of becoming an entrepreneur and thought bringing my ideas into software applications would be the lowest-cost way, so I decided to take computer science as my career in 2017. To achieve this goal, I selft-learnt lots of development tools during first two years in SJTU and spent 3 months developing a full-stack visual novel game. I thought I would be an industrial person, but then I went to UM and joined prof. Cyrus Omar's group and did research on programming language. PL atracts me and I gained my first academic conference experience - ICFP 2020 as an author in SRC track.
I love paintings, literature and sports. You can click GALLERY to see my artworks. I have a weChat public account to record book reviews and original proses in Chinese. Welcome to follow it (id: afterjune7) if you're a weChat user. As for sports, I shortly played for UM-SJTU JI women basketball team in the freshman year. I also loved to play tennis due to my favorite Japanese anime the Prince of Tennis during my childhood.
Education
Bachelor
- University of Michigan, Ann Arbor
- Computer Science Engineering
2019 - 2021
Bachelor
- Shanghai Jiao Tong University, Shanghai
- Electrical and Computer Engineering
2017 - 2021
Teaching
Research Experience
Research Assistant
University of Michigan - Future of Programming Lab, Advisor: Prof. Cyrus Omar.
- Worked on a paper for a gradual bidirectional typing inference system - type hole inference.
- Developed undo/redo and history recording features for Hazel, a live functional programming environment featuring typed holes.
- Designed and implemented a history panel, which was used for EECS 490 teaching work in UM.
November 2019 - present
Research Assistant
University of Michigan, Advisor: Prof. Scott Mahlke
- Learnt and wrote optimization path by LLVM.
- Implemented genetic algorithm to find optimized combination of flags for gcc.
May 2020 - July 2020
Recent Activities
Author
ICFP 2020 Student Research Competition
- Advisor: Prof. Cyrus Omar.
- First round: extended abstract - Type Hole Inference
- Second round: poster session - Conference info
- Third round: talk session - Talk video
August 2020
Hazel
University of Michigan - Future of Programming Lab
A research project directed by Prof. Cyrus Omar.
- Developed undo/redo and history recording features for Hazel, a live functional programming environment featuring typed holes.
- Designed and implemented a history panel, which was used for EECS 490 teaching work in UM.
November 2019 - present
Online Visual Novel
SJTU Network and Information Organization
Implemented a visual novel featuring multiple story lines and endings, shopping store, archiving, achievement, HP systems.
- Designed and built front-end pages (Html/Css/Js).
- Developed the back-end by Django, created database model and deployed it in the cloud server (Ubuntu).
February 2019 - May 2019
Network File System
Course Project | EECS 482: Introduction to Operating Systems
Implemented a file system featuring encryption, authentication, failure tolerance and concurrency.
2019 Winter
Compiler for Decaf
Course Project | EECS 483: Compiler Construction
Implemented and optimized a compiler for Decaf (a strongly-typed, object-oriented language with support for inheritance and encapsulation), written in C++ and compiled Decaf program into MIPS assembly program. Implementation is full-stack from lexical analyzing to code generation with clear static, link and run-time error reporting. Optimization includes register allocation improvement, dead code elimination, constant folding, subexpression elimination, constant propagation and forward copy propagation.
2019 Winter
Robotics!
I devoted plenty of time to robotics during my first two years in Shanghai Jiao Tong University. I love team work more rather than love roboticts (though I'm also passionate about robotics! :)).
Remote-controlled Wall Cleaning Robot
Cleaning the outer wall surfaces, especially glasses, of high-rises has long been a tough work. The working environment for workers is arduous and dangerous. Also, since few building owners are willing to pay too much to cleaning their windows, a new solution to cleaning work is needed. We considered to use a kind of machine, which is relatively economical, to replace human cleaners.
2018 Summer
VEX Robots
I joined VEX robot team SJTU1 in December 2018 and worked with another 8 teammates to build shooting robots for competitions. We worked for over half a year and competes with other VEX lovers to get the pass for VEX World Championship. To enhance functionalities, we built 7 versions of robots. Thanks for all my co-workers and generous funding from SJTU!
December 2018 - May 2019

Remote-controlled Wall Cleaning Robot

VEX Robots

VEX U Championship

VEX U Championship

VEX U Design Division

Summer Expo
Awards
Bronze
ICFP 2020 Student Research Competition
Champion
12th Annual VEX U Robot Skills Challenge World Championship, Louisville
- Over 30,000 people including more than 1,650 teams from 40 nations participated in this Championship.
- Designed and constructed over 5 versions of robots for competitions with other 8 teammates.
- Wrote daily work log and engineering sheets for the team.
May 2019
Second Place
12th Annual VEX U Robot World Championship, Louisville
May 2019
Champion
VEX Robotics Asia Open, Zhejiang, China
February 2019
Best Technology Award
UM-SJTU Joint Institute Summer Design Expo
- Built a remote-controlled glass wall cleaning robot with another 3 teammates.
November 2018
Undergraduate Excellent Scholarship,Shanghai Jiao Tong University
November 2018
My Artworks!
I have gotten Chinese traditional painting trainning for 10 years since 2006. Painting by brush pens and Xuan paper makes me feel inner-peace. Here are some of my artworks done after I came to US alone for undergraduate study.
Click each thumbnail to walk through more paintings!
Curled Mountains
It was a gift for my Malaysian friend and his son. His son loves mountains very much and asked me if I could draw a painting for him. Acient Chinese painter believes pictures of curled mountains and rivers will bring wealthy and peaceful lives.

Black and White
Traditional Chinese paintings are always drawn by ink and water only. Painters try to show simplest inner world by discarding glaring colors.

Colored Mountains

Lotus and Kingfisher
Lotus and kingfishers always appear together in traditional paintings. Kingfishers bring vitality to a picture on contrast to static lotus.

Wizened Lotus

Lichee
Lichee pronounces similar to "Lucky" in Chinese, so it's always used to show best wishes for the future.

Cat

Five Mice
I draw this to celebrate 2020 new year, the year of the rat (Chinese Zodiac).

Instgram: pzhiyi
References
I have been lucky enough to work with some great supervisors. These people mentored me during work and offered valuable life advice as well. I am glad to have gotten to know these superiors during my time with them. These people have provided me with tools to help me succeed in writing these references.Maple Leaf Foods
To Whom it may concern, I have worked with Dylan Henderson as his direct supervisor for approximately one year now. In that time I have found him to be an enthusiastic employee who seeks out every opportunity to increase his knowledge and skill set. He is a quick learner and applies himself conscientiously to the tasks he is assigned.
Dylan is able to work with minimum supervision and has demonstrated reliability both in attendance and job performance. I have also appreciated his ability to anticipate needs and act proactively.
I have found Dylan to be a pleasant and respectful employee who is well regarded by his superiors and peers alike. I have no hesitation in recommending him for employment.
Regards,[Maple Leaf Supervisor]
November 22, 2012
VS Suppliers
Dylan has done a fantastic job on my business website(s). His attention to detail is wonderful . He is professional and easy to relate to at the same time. His ability to listen and to understand my website needs and run with ideas is admirable . He makes this part of my business much simpler for me because I know he grasps what I am saying and I have every confidence that he will always produce something that I will love.
Kathy StollOwner, VSS
July 22, 2015
Canadian Purchasing Collective
The owner of the Canadian Purchasing Collective has promised to write a reference for me when they have returned from their vacation in August. Thanks!
Features
Minim duis incididunt est cillum est ex occaecat consectetur. Qui sint ut et qui nisi cupidatat. Reprehenderit nostrud proident officia exercitation anim et pariatur ex.Lorem ipsum dolor sit amet
Excepteur et pariatur officia veniam anim culpa cupidatat consequat ad velit culpa est non.- Nisi qui nisi duis commodo duis reprehenderit consequat velit aliquip.
- Dolor consectetur incididunt in ipsum laborum non et irure pariatur excepteur anim occaecat officia sint.
- Lorem labore proident officia excepteur do.
Sit qui est voluptate proident minim cillum in aliquip cupidatat labore pariatur id tempor id. Proident occaecat occaecat sint mollit tempor duis dolor cillum anim. Dolore sunt ea mollit fugiat in aliqua consequat nostrud aliqua ut irure in dolore. Proident aliqua culpa sint sint exercitation. Non proident occaecat reprehenderit veniam et proident dolor id culpa ea tempor do dolor. Nulla adipisicing qui fugiat id dolor. Nostrud magna voluptate irure veniam veniam labore ipsum deserunt adipisicing laboris amet eu irure. Sunt dolore nisi velit sit id. Nostrud voluptate labore proident cupidatat enim amet Lorem officia magna excepteur occaecat eu qui. Exercitation culpa deserunt non et tempor et non.
Do dolor eiusmod eu mollit dolore nostrud deserunt cillum irure esse sint irure fugiat exercitation. Magna sit voluptate id in tempor elit veniam enim cupidatat ea labore elit. Aliqua pariatur eu nulla labore magna dolore mollit occaecat sint commodo culpa. Eu non minim duis pariatur Lorem quis exercitation. Sunt qui ex incididunt sit anim incididunt sit elit ad officia id.
Tempor voluptate ex consequat fugiat aliqua. Do sit et reprehenderit culpa deserunt culpa. Excepteur quis minim mollit irure nulla excepteur enim quis in laborum. Aliqua elit voluptate ad deserunt nulla reprehenderit adipisicing sint. Est in eiusmod exercitation esse commodo. Ea reprehenderit exercitation veniam adipisicing minim nostrud. Veniam dolore ex ea occaecat non enim minim id ut aliqua adipisicing ad. Occaecat excepteur aliqua tempor cupidatat aute dolore deserunt ipsum qui incididunt aliqua occaecat sit quis. Culpa sint aliqua aliqua reprehenderit veniam irure fugiat ea ad.
Eu minim fugiat laborum irure veniam Lorem aliqua enim. Aliqua veniam incididunt consequat irure consequat tempor do nisi deserunt. Elit dolore ad quis consectetur sint laborum anim magna do nostrud amet. Ea nulla sit consequat quis qui irure dolor. Sint deserunt excepteur consectetur magna irure. Dolor tempor exercitation dolore pariatur incididunt ut laboris fugiat ipsum sunt veniam aute sunt labore. Non dolore sit nostrud eu ad excepteur cillum eu ex Lorem duis.
Id occaecat velit non ipsum occaecat aliqua quis ut. Eiusmod est magna non esse est ex incididunt aute ullamco. Cillum excepteur sint ipsum qui quis velit incididunt amet. Qui deserunt anim enim laborum cillum reprehenderit duis mollit amet ad officia enim. Minim sint et quis aliqua aliqua do minim officia dolor deserunt ipsum laboris. Nulla nisi voluptate consectetur est voluptate et amet. Occaecat ut quis adipisicing ad enim. Magna est magna sit duis proident veniam reprehenderit fugiat reprehenderit enim velit ex. Ullamco laboris culpa irure aliquip ad Lorem consequat veniam ad ipsum eu. Ipsum culpa dolore sunt officia laborum quis.
Lorem ipsum dolor sit amet
Eiusmod nulla aliquip ipsum reprehenderit nostrud non excepteur mollit amet esse est est dolor. Dolore quis pariatur sit consectetur veniam esse ullamco duis Lorem qui enim ut veniam. Officia deserunt minim duis laborum dolor in velit pariatur commodo ullamco eu. Aute adipisicing ad duis labore laboris do mollit dolor cillum sunt aliqua ullamco. Esse tempor quis cillum consequat reprehenderit. Adipisicing proident anim eu sint elit aliqua anim dolore cupidatat fugiat aliquip qui.
Nisi eiusmod esse cupidatat excepteur exercitation ipsum reprehenderit nostrud deserunt aliqua ullamco. Anim est irure commodo eiusmod pariatur officia. Est dolor ipsum excepteur magna aliqua ad veniam irure qui occaecat eiusmod aute fugiat commodo. Quis mollit incididunt amet sit minim velit eu fugiat voluptate excepteur. Sit minim id pariatur ex cupidatat cupidatat nostrud nostrud ipsum.
Enim ea officia excepteur ad veniam id reprehenderit eiusmod esse mollit consequat. Esse non aute ullamco Lorem aliqua qui dolore irure eiusmod aute aliqua proident labore aliqua. Ipsum voluptate voluptate exercitation laborum deserunt nulla elit aliquip et minim ex veniam. Duis cupidatat aute sunt officia mollit dolor ad elit ad aute labore nostrud duis pariatur. In est sint voluptate consectetur velit ea non labore. Ut duis ea aliqua consequat nulla laboris fugiat aute id culpa proident. Minim eiusmod laboris enim Lorem nisi excepteur mollit voluptate enim labore reprehenderit officia mollit.
Cupidatat labore nisi ut sunt voluptate quis sunt qui ad Lorem esse nisi. Ex esse velit ullamco incididunt occaecat dolore veniam tempor minim adipisicing amet. Consequat in exercitation est elit anim consequat cillum sint labore cillum. Aliquip mollit laboris ad labore anim.
How to install MDL
Cillum dolor esse sit incididunt velit eiusmod magna ad nostrud officia aute dolor dolor. Magna esse ullamco pariatur adipisicing consectetur eu commodo officia. Ex cillum consequat mollit minim elit est deserunt occaecat nisi amet. Quis aliqua nostrud Lorem occaecat sunt. Eiusmod quis amet ullamco aliquip dolore ut incididunt duis adipisicing. Elit consequat nisi eiusmod aute ipsum sunt veniam do est. Occaecat mollit aliquip ut proident consectetur amet ex dolore consectetur aliqua elit.
Commodo nisi non consectetur voluptate incididunt mollit duis dolore amet amet tempor exercitation. Qui amet aute ea aute id ad aliquip proident. Irure duis qui labore deserunt enim in quis nisi sint consequat aliqua. Ex proident labore et laborum tempor fugiat sint magna veniam minim. Nulla dolor labore adipisicing in enim mollit laboris fugiat eu. Aliquip minim cillum ullamco voluptate non dolore non ex duis fugiat duis ad. Deserunt cillum ad et nisi amet non voluptate culpa qui do. Labore ullamco et minim proident est laborum mollit ad labore deserunt ut irure dolore. Reprehenderit ad ad irure ut irure qui est eu velit eu excepteur adipisicing culpa. Laborum cupidatat ullamco eu duis anim reprehenderit proident aute ad consectetur eiusmod.
Tempor tempor aliqua in commodo cillum Lorem magna dolore proident Lorem. Esse ad consequat est excepteur irure eu irure quis aliqua qui. Do mollit esse veniam excepteur ut veniam anim minim dolore sit commodo consequat duis commodo. Sunt dolor reprehenderit ipsum minim eiusmod eu consectetur anim excepteur eiusmod. Duis excepteur anim dolor sit enim veniam deserunt anim adipisicing Lorem elit. Cillum sunt do consequat elit laboris nisi consectetur.
Basic MDL Usage
Cillum dolor esse sit incididunt velit eiusmod magna ad nostrud officia aute dolor dolor. Magna esse ullamco pariatur adipisicing consectetur eu commodo officia. Ex cillum consequat mollit minim elit est deserunt occaecat nisi amet. Quis aliqua nostrud Lorem occaecat sunt. Eiusmod quis amet ullamco aliquip dolore ut incididunt duis adipisicing. Elit consequat nisi eiusmod aute ipsum sunt veniam do est. Occaecat mollit aliquip ut proident consectetur amet ex dolore consectetur aliqua elit.
Commodo nisi non consectetur voluptate incididunt mollit duis dolore amet amet tempor exercitation. Qui amet aute ea aute id ad aliquip proident. Irure duis qui labore deserunt enim in quis nisi sint consequat aliqua. Ex proident labore et laborum tempor fugiat sint magna veniam minim. Nulla dolor labore adipisicing in enim mollit laboris fugiat eu. Aliquip minim cillum ullamco voluptate non dolore non ex duis fugiat duis ad. Deserunt cillum ad et nisi amet non voluptate culpa qui do. Labore ullamco et minim proident est laborum mollit ad labore deserunt ut irure dolore. Reprehenderit ad ad irure ut irure qui est eu velit eu excepteur adipisicing culpa. Laborum cupidatat ullamco eu duis anim reprehenderit proident aute ad consectetur eiusmod.
Cillum dolor esse sit incididunt velit eiusmod magna ad nostrud officia aute dolor dolor. Magna esse ullamco pariatur adipisicing consectetur eu commodo officia. Ex cillum consequat mollit minim elit est deserunt occaecat nisi amet. Quis aliqua nostrud Lorem occaecat sunt. Eiusmod quis amet ullamco aliquip dolore ut incididunt duis adipisicing. Elit consequat nisi eiusmod aute ipsum sunt veniam do est. Occaecat mollit aliquip ut proident consectetur amet ex dolore consectetur aliqua elit.
Commodo nisi non consectetur voluptate incididunt mollit duis dolore amet amet tempor exercitation. Qui amet aute ea aute id ad aliquip proident. Irure duis qui labore deserunt enim in quis nisi sint consequat aliqua. Ex proident labore et laborum tempor fugiat sint magna veniam minim. Nulla dolor labore adipisicing in enim mollit laboris fugiat eu. Aliquip minim cillum ullamco voluptate non dolore non ex duis fugiat duis ad. Deserunt cillum ad et nisi amet non voluptate culpa qui do. Labore ullamco et minim proident est laborum mollit ad labore deserunt ut irure dolore. Reprehenderit ad ad irure ut irure qui est eu velit eu excepteur adipisicing culpa. Laborum cupidatat ullamco eu duis anim reprehenderit proident aute ad consectetur eiusmod.
Cillum dolor esse sit incididunt velit eiusmod magna ad nostrud officia aute dolor dolor. Magna esse ullamco pariatur adipisicing consectetur eu commodo officia. Ex cillum consequat mollit minim elit est deserunt occaecat nisi amet. Quis aliqua nostrud Lorem occaecat sunt. Eiusmod quis amet ullamco aliquip dolore ut incididunt duis adipisicing. Elit consequat nisi eiusmod aute ipsum sunt veniam do est. Occaecat mollit aliquip ut proident consectetur amet ex dolore consectetur aliqua elit.
Commodo nisi non consectetur voluptate incididunt mollit duis dolore amet amet tempor exercitation. Qui amet aute ea aute id ad aliquip proident. Irure duis qui labore deserunt enim in quis nisi sint consequat aliqua. Ex proident labore et laborum tempor fugiat sint magna veniam minim. Nulla dolor labore adipisicing in enim mollit laboris fugiat eu. Aliquip minim cillum ullamco voluptate non dolore non ex duis fugiat duis ad. Deserunt cillum ad et nisi amet non voluptate culpa qui do. Labore ullamco et minim proident est laborum mollit ad labore deserunt ut irure dolore. Reprehenderit ad ad irure ut irure qui est eu velit eu excepteur adipisicing culpa. Laborum cupidatat ullamco eu duis anim reprehenderit proident aute ad consectetur eiusmod.
Cillum dolor esse sit incididunt velit eiusmod magna ad nostrud officia aute dolor dolor. Magna esse ullamco pariatur adipisicing consectetur eu commodo officia. Ex cillum consequat mollit minim elit est deserunt occaecat nisi amet. Quis aliqua nostrud Lorem occaecat sunt. Eiusmod quis amet ullamco aliquip dolore ut incididunt duis adipisicing. Elit consequat nisi eiusmod aute ipsum sunt veniam do est. Occaecat mollit aliquip ut proident consectetur amet ex dolore consectetur aliqua elit.
Commodo nisi non consectetur voluptate incididunt mollit duis dolore amet amet tempor exercitation. Qui amet aute ea aute id ad aliquip proident. Irure duis qui labore deserunt enim in quis nisi sint consequat aliqua. Ex proident labore et laborum tempor fugiat sint magna veniam minim. Nulla dolor labore adipisicing in enim mollit laboris fugiat eu. Aliquip minim cillum ullamco voluptate non dolore non ex duis fugiat duis ad. Deserunt cillum ad et nisi amet non voluptate culpa qui do. Labore ullamco et minim proident est laborum mollit ad labore deserunt ut irure dolore. Reprehenderit ad ad irure ut irure qui est eu velit eu excepteur adipisicing culpa. Laborum cupidatat ullamco eu duis anim reprehenderit proident aute ad consectetur eiusmod.