Authors
Stefan Forstenlechner
Publication date
2019/1
Institution
University College Dublin
Description
Automatically discovering executable programs (Program Synthesis) has many real-world applications for a wide range of users. Program synthesis can help experienced programmers discover new algorithms [2] or new ways to approach a problem, as well as support them in everyday work by synthesising code for mundane tasks. Even automatic bug fixing is within the applications of program synthesise [3, 4, 5]. Program synthesis can also help users with little or no programming experience carry out repetitive tasks [6]. For example, business analysts face many challenges when it comes to managing, processing and modeling data as well as using data to make predictions. Many tasks after being defined by a business analyst could be automated to free up time for more important work that computers cannot yet handle automatically. A step in the CRoss-Industry Standard Process for Data Mining (CRISP-DM)[7] that can take up much time is data preparation. Data preparation is the phase of converting initial raw data into a final dataset. A solution for users with little or no programming experience could be to prepare a few data points themselves and show a computer the examples. A machine learning technique could synthesize a program that executes the data transformations itself by learning from the samples provided by the user. Even machine learning itself becomes automated (AutoML), to create predictive models automatically, without the need of an expert in the area [8].
Total citations
20192020202120221113