> You can think of Bayou as a system for assisting a programmer who is using Java APIs. A programmer interacts with Bayou by writing a draft program — a Java method with “holes”, or missing blocks of code — and supplying some clues in a query about how these holes should be filled. Bayou’s job is then to fill these holes with code in a way that will, hopefully, match the programmer’s intent. More precisely, Bayou infers a probability distribution over the set of candidate completions of a given draft, then returns the top-k programs from this distribution.
The supported terms in a query are:
- an API method call that the generated program should use, or
- an API data type that the user wants the generated code to use.
An example "query" that they provide:
/// call:readLine
Calling this "an A.I. application that can write its own code" is ludicrous. The end result is basically a difficult-to-use Intellisense.