This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: "Inferential programming" – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this template message)

In most computer programming, a programmer keeps a program's intended results in mind and painstakingly constructs a program to achieve those results. Inferential programming refers to (still mostly hypothetical) techniques and technologies enabling the inverse. This would allow describing an intended result to a computer, using a metaphor such as a fitness function, a test specification, or a logical specification, and then the computer, on its own, would construct a program needed to meet the supplied criteria.

During the 1980s, approaches to achieve inferential programming mostly involved techniques for logical inference. Today the term is sometimes used in connection with evolutionary computation techniques that enable a computer to evolve a solution in response to a problem posed as a fitness or reward function.

In July 2022, GitHub Copilot was released, which is an example of inferential programming.

Closely related concepts and technologies

See also