Many of you have seen autocorrect tools that correct your spelling and even grammar in word processing documents.
Won't it be nice if there is such a tool to correct syntax and logic of programs?
What if there is a tool that generates a program based on some input output specification in natural language ?
It is understood that programming is an essential 21st century life skill similar to reading, writing and arithmetic. Many first time programmers get frustrated to get their first program compile and run correctly and provide the desired output. Of course, those who get past the frustration, feel empowered, as they understand the power of programming to create interesting outputs and solve problems.
There are studies that show that there is a huge drop out in the first year programming courses all over the world. Part of the problem is due to the often unhelpful error messages the compilers give for their programs. What if there is an autocorrect tool that guides the programmers in common mistakes (a missing parenthesis or an amber sign or a comma, for example)
Researchers under the leadership of Dr. Sumit Gulwani of Microsoft Research is working on such a tool, using artificial intelligence and data mining techniques. They are also working on tools that can generate a program given the input-output specification in natural languages. His research group has a number of openings, and the skill set for these tools are inter-disciplinary in nature, requiring expertise in programming, data mining, natural language processing and even pedagogy skills.
Apart from helping the novice programmers, these tools are also expected to help millions of teachers in marking programming assignments and in giving helpful feedback to the students.
To know more about this work, and to know the various openings available in the research group, see Dr. Sumit Gulwani's presentation in ACM-India (Video)'s flagship conference on education, COMPUTE 2021 (event.india.acm.org/Compute).