Program Repair Progress at Peking University

50 views
Skip to first unread message

Yingfei Xiong

unread,
Jan 5, 2022, 8:13:11 PM1/5/22
to program...@googlegroups.com

Dear Colleages in Program Repair,

Wish you happiness and health in the new 2022 year!

I would like to share with you some of our latest papers on program repair published in 2021.

  • Jingjing Liang, Ruyi Ji, Jiajun Jiang, Shurui Zhou, Yiling Lou, Yingfei Xiong, Gang Huang. Interactive Patch Filtering as Debugging Aid. ICSME'21: 37th International Conference on Software Maintenance and Evolution, September 2021.

As multiple empirical studies demonstrated, a program repair approach is useful only when the precision is high enough, i.e., generated patches have a high probability to be correct. However, achieving a high precision is difficult and often we need to sacrifice other aspects of our approach, such as recall. In this paper we show that, if we provide proper tool support for the developers to review the patches, a program repair approach with a low precision could still be useful. In our experiments, our tool support managed to help developers repair 62.5% more bugs and reduce the repair time by 25.3% on four tasks with 8~47 incorrect patches per bug. This allows the development of new repair approaches with looser requirement on precision.

This paper receives the IEEE TCSE Distinguished Paper Award.

  • Yingfei Xiong, Bo Wang. L2S: a Framework for Synthesizing the Most Probable Program under a Specification. TOSEM: ACM Transactions on Software Engineering and Methodology, Accepted, December 2021.

Many of you may have heard me talking about L2S in various places. This is a general framework for synthesizing a program that meets a specification and have the maximum probability in a distribution, and is suitable for tasks such as program repair that have the overfitting issue. It started as a generalization of ACS, and took several years for us to finish the theory, including a new type of grammar.

  •     Qihao Zhu, Zeyu Sun, Yuanan Xiao, Wenjie Zhang, Kang Yuan, Yingfei Xiong, Lu Zhang. A Syntax-Guided Edit Decoder for Neural Program Repair. ESEC/FSE'21: ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, August 2021

This is the first neural program repair approach that outperforms traditional heuristic-based program repair approaches. This paper combines multiple our existing efforts, including the above L2S framework, the TreeGen neural architecture (AAAI20), a delta-based representation of the patch space (MODELS11).

This paper was nominated for the ACM SIGSOFT Distinguished Paper Award.

Best Regards,

Yingfei Xiong

Martin Monperrus

unread,
Feb 8, 2022, 11:07:54 AM2/8/22
to Discussion on program repair
Dear colleagues,

Thanks a lot Yingfei for sharing and recapitulating your 2021 work.

Here is an overview of what has happened at KTH last year:

A Software-Repair Robot based on Continual Learning, In IEEE Software, 2021. => constantly update a neural program repair model based on the flow of Github commits

Automated Classification of Overfitting Patches with Statically Extracted Code Features (He Ye et al), IEEE Transactions on Software Engineering, 2021. => compute features on patches and train a classifier to detect overfitting patches

Automated Patch Assessment for Program Repair at Scale
(He Ye et al.) Empirical Software Engineering, 2021. => use generated tests to assess APR patches

A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmark), (He Ye et al.) Journal of Systems and Software, 2021. => provides reference baselines and patches for 
QuixBugs

Plus a sneak peak in 2022:

Neural Program Repair with Execution-based Backpropagation (ICSE 2022) => use test execution to better optimize a repair neural network.

Should this ring a bell, we would be happy to read from you.

I wish you all the best for your 2022 research,

--Martin

--
Martin Monperrus, Professor, KTH Royal Institute of Technology

Reply all
Reply to author
Forward
0 new messages