Automated Program Synthesis



Automated Program Synthesis
Researchers are using a model of programming "automated program synthesis," computers generate pieces of code based on a user's intent.
Technology Briefing

Transcript


Computers have revolutionized our daily lives, and yet the way we program computers has changed little in the last several decades.

But now, a team of researchers - representing nine leading U.S. computer science programs - is using a model of programming called "automated program synthesis," through which computers can generate pieces of code based on a user's intent, expressed using various non-code-based forms, such as examples, demonstrations or natural language commands.

The initiative, called ExCAPE, aims to change programming from a purely manual task to one in which a programmer and an automated program synthesis tool collaborate to generate software that meets its specification.

By removing the need for would-be programmers to learn esoteric programming languages, the method has the potential to significantly expand the number of people engaged in programming in a variety of disciplines, from personalized education to robotics.

Looking at the growing area of online learning, the ExCAPE team further recognized the role that program synthesis tools could play in generating automatic feedback for students - analyzing their solutions, grading their assignments, and providing meaningful explanations of their mistakes.

That's why the team created Automata Tutor, which has been used by more than 5,000 students from more than ten universities around the world. A team presented the results from the early deployment of Automata Tutor in the journal ACM Transactions on Computer-Human Interaction.

The group has created other tools, including AutoProf, which provides feedback on introductory programming assignments in computer languages, such as Python. Another tool, CPSgrader, automatically grades laboratory courses in cyber-physical systems and provides feedback.

The ExCAPE team's research has affected the commercial software world, too. Its notion of syntax-guided synthesis inspired Microsoft to create automated program synthesizers for its suite of software. For instance, the technology giant has developed a generic programming-by-example synthesizer called FlashMeta.



Comments

No comments have been submitted to date.

Submit A Comment


Comments are reviewed prior to posting. You must include your full name to have your comments posted. We will not post your email address.

Your Name


Your Company
Your E-mail


Your Country
Your Comments