Automatic generation of program code from descartes specifications

Date

2011-05

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Automatic programming can be defined as the synthesis of a program from a given specification. The history of automatic programming can be traced back from the 1950s where Admiral Grace Murray Hopper developed the concept of automatic programming with a compiling system by using words instead of mathematical symbols. Automatic programming is the systematic generation of a program from a given specification. The goal of automatic programming is to allow programmers to specify what a program should do, and let the system generate the program code describing how the given program will work. Programs can be specified using a constructible, formal, and comprehensible specification language. Descartes is one such formal specification language, based on the functional model and has the advantages of easy constructability and comprehensibility. In Descartes, specifications are described by defining the input and output data and relating the output data as a function of the input data. This research effort analyzed the various approaches towards automatic programming and reduces the gap between specification and implementation, by introducing a method to automatically transform a Descartes specification of a program into program code in Java. However, programming extends to all fields of computer science. Hence, the scope of this research was limited to automatic implementation of programs from the domain of arithmetic problems, involving basic mathematical functions only.

Description

Citation