Program that repairs programs: how to achieve 78.3 percent precision in automated program repair

Ideea e ca au facut un program care rezolva bug-uri in cod creand patch-uri.

The key to Accurate Condition System (ACS) high precision is the use of multiple information sources, especially the “big code” existing on the Internet. Compared with existing techniques, ACS uses three new types of information sources.

1.) First, researchers noticed that the principle of locality holds on variable uses, and apply such information to sort the variables to be used in the patches.
2.) Second, ACS uses natural language analysis techniques to analyze Javadoc, and then uses the information in Javadoc to filter incorrect patches.
3.) Last, and most importantly, ACS performs statistical analysis on the open-source program on the Internet, discovers the conditional probabilities of the operations over the variables and further generates correct patches.

In February 2017, Microsoft and Cambridge University announced a DeepCoder algorithm that produces programs from problem inputs/outputs. DeepCoder, which operates on a novel yet greatly simplified programming language, cannot handle complex problems—general programming languages are still too hard for DeepCoder to master. So, currently, programmers don’t have to worry about being replaced by machines.