Program Synthesis

Program synthesis comprises a range of technologies for the automatic generation of executable computer programs from high-level specifications of their behaviour. In contrast to compilation, the specifications are usually non-algorithmic. The idea originated in the 60s with the aim of using techniques from artificial intelligence to build an automatic programmer, exploiting deep connections between mathematics and the theory of programming. Lack of early success meant that the mathematical approach soon fell out of favour, along with enthusiasm for AI, in general. Although some researchers still work on formal approaches, more success has been obtained by combining pure deductive techniques with powerful heuristics, and limiting their application to specific domains. Some feel that the concept of automated program generation often results in poor "factoring" of information. Known redundancy should be factored out, not introduced, it is said. However, sometimes specific programming languages are limited such that one has to introduce repetition of a concept or pattern in order to keep using the same language. Here is a simplified illustration of factoring:
   Poor Factoring:          x = a + a + a + a + a         Good Factoring:          x = a * 5    (where the asterisk is "times") 
Program generation tends to focus on automating the repetition seen in the first example, when a better approach is perhaps to find a higher-order abstraction, which is multiplication in this case. Other examples include putting parameters into a file or database instead of inside application code.

 

<< PreviousWord BrowserNext >>
new hall, cambridge
clorinda matto de turner
wellesley, ontario
supervisor
erotic furniture
westwood one
short film
tv tokyo
newnham college, cambridge
baron plunket
turlough hill
jasenovac
homerton college, cambridge
list of united states radio networks
baron tassilo von heydebrand und der lasa
inner light
aldol reaction
enolate anion
nipissing, unorganized, south part, ontario
synthetic diamond
the book of lost tales
the lays of beleriand
the shaping of middle earth
joetsu shinkansen
pudendal nerve entrapment
tweed, ontario
afghanistan timeline march 2004
u.s. highway 71
list of jungle and drum n bass artists
panty line
slave trade act
u.s. highway 171
metropolitan state hospital (california)
metropolitan state hospital (massachusetts)
mssbauer spectrometer
effective nuclear charge
chuo shinkansen
totosai
enamine
75th academy awards
the hours
the order
the order (2003)
seize mai