Microsoft Develops Tool To Repair Code
Microsoft Develops Tool To Repair Code
Written by Kay Ewbank   
Monday, 14 August 2017

Researchers from Microsoft, Peking University, and University of Electronic Science and Technology of China have developd a system that will automatically repair defects in software systems without human intervention.

The research follows on from that of Microsoft and Cambridge University who, as we recently reported, announced a DeepCoder algorithm that produces programs from problem inputs/outputs.

DeepCoder is still very limited, but the new research asks whether it would be possible for a computer program to identify and fix bugs in existing programs.

The system invented by Accurate Condition System (ACS), is designed to automatically repair defects in software systems without human intervention.

While there are existing automated tools for program repair, the patches they produce have a low 'precision' level. For most, the precisions of mainstream program repair approaches are less than 10 percent, with even improved approaches reaching less than 40 percent accuracy. The problem is that the tests used to mark a change as 'correct' don't mean that passing the test means the program is actually correct.

debugging

 

This latest approach achieves a rating of 80 percent 'correctness' in the Defects4J benchmark, often used to measure such things.

ACS achieves the improved results by using multiple information sources, especially the “big code” existing on the Internet. The researchers focussed on condition synthesis. Three new types of information sources were added to those in previous tools.Firstly, the information given by knowing what variables in a local context should be used in an “if” condition, and using a sorting method based on the dependency relations between variables.

The second change relies on the observation that the API document can be used to guide the repair process. A document analysis technique was used to further filter the variables based on this. Natural language analysis techniques are used to analyze Javadoc, and the application then uses the information in Javadoc to filter incorrect patches.

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.

The paper describing the system, ACS “Precise Condition Synthesis for Program Repair” was published at ICSE 2017. The authors include Yingfei Xiong, Jie Wang, Guang Huang and Lu Zhang from Peking University, Runfa Yan from UESTC and Shi Han from Microsoft Research Asia.
 microsoft

 

More Information

Precision Condition Synthesis Program Repair

Related Articles

DeepCoder Learns To Write Programs

To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on, Twitter, FacebookGoogle+ or Linkedin.

 

Banner


IBM Big SQL Sandbox
19/09/2017

IBM has released a sandbox version of Big SQL for desktop use. The Sandbox comes as a single node docker image, and is designed to let you started with Big SQL and Hortonworks Data platform.



Tetris On Game Of Life - A Great Achievement
24/09/2017

It is one thing to know that something unlikely is Turing complete; it is quite another to use it to build a computer and then implement something real. This is exactly what has just happened with Con [ ... ]


More News

 

 
 

 

blog comments powered by Disqus

Last Updated ( Monday, 14 August 2017 )
 
 

   
Banner
Banner
RSS feed of news items only
I Programmer News
Copyright © 2017 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.