Debugging activities are supposed to account for about 50 percent of overall development cost of software products. In a new publication, the WASP PhD student He Ye and her colleagues at KTH and Hong Kong have developed a new neural program repair model, based on self-supervised training, improving the present techniques of automatic software repair.

The process of debugging includes analyzing and understanding failed executions, identifying the causes of the failures, implementing fixes, and validating that the fixed program works correctly, without introducing any side effect. To localize and repair bugs using automated program repair (APR) facilitates work in software maintenance, however, present techniques fail to repair some bugs because of a lack of knowledge about the application domain of the program being repaired, as well as the fault type. In the new paper, He Ye et al solve both problems by changing the learning paradigm from supervised training to self-supervised training in an approach called SelfAPR.

SelfAPR introduces two major novelties: First, it uses self-supervision, generating training samples on disk by perturbing a previous version of the program being repaired, allowing the model to get project specific information. Secondly, by executing all training samples, it extracts and encodes test execution diagnostics into the input representation, steering the neural model to fix the kind of fault.

SelfAPR was evaluated on bugs from the GitHub framework Defects4J, where it correctly repairs 110 of 818 bugs, thereby outperforming all the previous supervised learning repair approaches. Notably, 10 of them were never repaired by the previous used supervised learning repair approaches, demonstrating the value and power of project-specific training and test diagnostics embedded.

Six-month research stint in Hong Kong

With a background in software engineering and computer science, He Ye started her WASP funded PhD within the group of Prof. Martin Monperrus at KTH in 2018. Her research focuses on software testing, analysis, and trustworthy software construction, particularly on automatic program repair and deep learning techniques for source code usage.

In April, He Ye returned to Sweden after a six-month research stint in Hong Kong, working in a collaboration project with professor Xiapu Luo at the Hong Kong Polytechnic University. Their work on automated program repair has currently been accepted in the 37th IEEE/ACM International Conference on Automated Software Engineering and the research paper will be presented on the 11th of October.

He Ye during her research stint at The Hong Kong Polytechnic University.


Publication: He Ye, Matias Martinez, Xiapu Luo, Tao Zhang, Martin Monperrus; SelfAPR: Self-supervised Program Repair with Test Execution Diagnostics; 37th IEEE/ACM Interna-tional Conference on Automated Software Engineering; 2022


SelfAPR: read the full article

Published: September 26th, 2022

Latest news

We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners. View more
Cookies settings
Privacy & Cookie policy
Privacy & Cookies policy
Cookie name Active
The WASP website uses cookies. Cookies are small text files that are stored on a visitor’s computer and can be used to follow the visitor’s actions on the website. There are two types of cookie:
  • permanent cookies, which remain on a visitor’s computer for a certain, pre-determined duration,
  • session cookies, which are stored temporarily in the computer memory during the period under which a visitor views the website. Session cookies disappear when the visitor closes the web browser.
Permanent cookies are used to store any personal settings that are used. If you do not want cookies to be used, you can switch them off in the security settings of the web browser. It is also possible to set the security of the web browser such that the computer asks you each time a website wants to store a cookie on your computer. The web browser can also delete previously stored cookies: the help function for the web browser contains more information about this. The Swedish Post and Telecom Authority is the supervisory authority in this field. It provides further information about cookies on its website,
Save settings
Cookies settings