  Programming has been an important skill for researchers and practitioners in
computer science and other related areas. To learn basic programing skills, a
long-time systematic training is usually required for beginners. According to a
recent market report, the computer software market is expected to continue
expanding at an accelerating speed, but the market supply of qualified software
developers can hardly meet such a huge demand. In recent years, the surge of
text generation research works provides the opportunities to address such a
dilemma through automatic program synthesis. In this paper, we propose to make
our try to solve the program synthesis problem from a data mining perspective.
To address the problem, a novel generative model, namely EgoCoder, will be
introduced in this paper. EgoCoder effectively parses program code into
abstract syntax trees (ASTs), where the tree nodes will contain the program
code/comment content and the tree structure can capture the program logic
flows. Based on a new unit model called Hsu, EgoCoder can effectively capture
both the hierarchical and sequential patterns in the program ASTs. Extensive
experiments will be done to compare EgoCoder with the state-of-the-art text
generation methods, and the experimental results have demonstrated the
effectiveness of EgoCoder in addressing the program synthesis problem.
