Synthetic generation of programs using Neural Networks

Autor: Ferrús Ferri, Carlos Mariano
Přispěvatelé: Calvo-Zaragoza, Jorge, Alfaro-Contreras, María, Universidad de Alicante. Departamento de Lenguajes y Sistemas Informáticos
Jazyk: angličtina
Rok vydání: 2021
Předmět:
Zdroj: RUA. Repositorio Institucional de la Universidad de Alicante
Universidad de Alicante (UA)
Popis: Programming is a task that has accompanied all computer scientists since as early as the vacuum tube era. Recently, even other disciplines have been encouraged to learn it so that they can keep up with the fast advance of the World. However, everyone agrees that coding is no easy task. A computer, if used correctly, is a very powerful machine that can help us perform a myriad of text-transformation tasks in seconds, that would otherwise take hours or even days. But they also help to fulfill operations in milliseconds when they would normally take minutes (depending on the complexity or amount of data). Nonetheless, if it takes minutes and a headache to program a task that takes minutes to be solved, there is usually no motivation in properly harnessing the power of the computer. In order to reduce the number of these situations, the goal of this work is to drastically minimize the amount of time and knowledge a person needs to program. And, as a research project, it begins with the general introduction of the context and the investigation of previous methodologies and approaches related to this topic. This concludes with the current state of the art in Programming By Example: Neural Program Synthesis. Then, it continues with the definition of the tackled problem: its characteristics, its boundaries, its structure, its domain, and other features. However, this meticulous detailing needs the aid of a strong foundation on the core of the project: Machine Learning. Therefore, right before the problem description, a deep discussion of this important concept is performed. When all the knowledge prerequisites are fulfilled, a rigorous account of the finally developed application is conducted. All the implementation details, used formats, programmed algorithms, the developed neural model and its evolution, and other information about the project itself are described there. Right after, the finished application is tested and a chronological report of the results is provided. It also contains a conscientious interpretation of the outputs. The thesis concludes with a subjective opinion of the overall measure of success of the project, its strengths and weaknesses, and some possible research paths to be followed if one wanted to continue the work performed in this project. All in all, making the computers program themselves is also a task that has been attempted for a long time. However, thanks to the current Machine Learning technology with regard to artificial neural networks, it is fair to guess that this problem might be on the verge of its disappearance.
Databáze: OpenAIRE