Future of Software Development? Program Synthesis and its Application

Program synthesis is possibly a way to future software development – thanks to its automation and guarantee of correctness-by-construction.
Although it is a leading research field in programming languages, many people have already benefit from the mechanism, including end users, developers, researches, educators and learners.
This talk comprises three parts:

a couple of interesting applications of program synthesis, across different subjects,

I have also followed Rosette’s PLDI’14 paper to implement the automaton example, but I failed to fix the bugs in this source file. Could anyone tell me which part goes wrong, or it reveals a bug in Rosette?

This talk is a given as an advanced lecture in the course Modeling and Verification of Software Systems I, 2019 Spring.
The attached video is in Chinese, 1.4 G, downloaded via cloud.tsinghua.