Do programs that generate code automatic for a multitude of tasks has always been the great dream of the programmers. Imagine giving the idea of something that we want the computer to do, and that this, through a very complex and sophisticated to get the program resolved. However, although this is not yet possible to do, there are interesting efforts to minimize the errors of the programmers and thus make life more simple.
And for this purpose the Artificial Intelligence (AI) could be the solution. But instead of thinking in replace the programmers, what can be done today already, is to help them automatically using AI. And the idea then is that an automatic wizard, you are observing the code that is being written by the programmer for that, for once, decide if it has flaws.
Ubisoft has now something that they have baptized it as “Commit Assistant”, which seems to be -for a change – a neural network that can be trained using your own library of software and as well learn from the mistakes (bugs) that it has found and correct the problems immediately.
Let’s look at the promotional video:
In the video does not indicate how the software works. Mentioned the learning reinforced but which actions and rewards are is far from clear. Come on, the idea seems good, and perhaps commercially it is a good promotion, but then to have a system that does what the video promises also doesn’t seem too clear. The consider that certain parts of the code are like “signatures” with bugs associated with it seems very simplistic, and in addition, it indicates what class of bugs are those that are detected. For example, it could be that the programmer use a variable that is not declared. That the compiler will notice, but the wizard could warn the programmer, and even automatically insert the variable that is not declared, but that type of error is not discussed.
The system has been developed as part of the program The Forge of Ubisoft, where he engages university researchers to collaborate. In this case, the partner university is Concordia, which is located in Montreal. But beyond that, no details.
It should be noted that languages such as Prolog, for example, are what are called in many ways “testers theorems” and this has to do with a logic that is summarized in the algorithm of Robinson to unify terms and see if any of the propositions (predicates of a program in Prolog, that is to say, your instructions, comply with this logic or not. This scheme seems to be more interesting than the proposal of the neural network for the type of problem that it is attacking. However, we must recognize that while more information to the system, this is all speculation-educated and nothing more.