Does an application exist that can automatically write and test a software component based on a formal functional specification?
The twentieth century saw the initial birth of electronic computers. The early programming languages that were in primary use by 1975 were COBOL, FORTRAN, LISP, and C and UNIX were emerging for real time communications and control.
Shortly after this period two conceptual steps were proposed toward executable requirements, which, combined with natural language dialog, would permit the realization of computers that would execute high level instructions in a user's native tongue.
- Glenford J. Myers' Advances in computer architecture, Wiley; 1st edition, 1978, puts forth the proposition that computers had been designed from the bottom up, creating serious obstacles in use. He redefined the common term at the time, semantic gap, to mean the gap between the needs of those that program computers and the facilities of the computer architecture. This thinking led to object oriented design and supporting languages such as C++, Java, EMMASCript, and Python. (Myers worked for IBM but was recruited by a small startup company called Intel to help them design their first 32-bit architecture, the 80386.)
- Gene Fisher, Professor Emeritus, California Poly San Luis Obispo, proposed in 1988 what he called a, "Tool for constructing executable block diagrams based," conceptually more advanced than graphical simulators like Simulink and more advanced than IDEs like Eclipse, Idea, and Jupyter interfaces.. JModelica is probably one of the closest development applications to Fisher's vision. The term that has become popular in the literature for this concept is executable diagram.
Are there any applications in beta or in common use in some segment of the software industry where a formal requirement can be entered as input to a program writing application and tested source code is produced at the output?
Is anyone working on an application that takes this one step further to a computer that gathers requirements through natural dialog?