南京大学计算机软件新技术国家重点实验室
摘 要:
Automated Program Repair (APR) is one of the most recent advances in
automated debugging, and can directly fix buggy programs with minimal human
intervention. Although various advanced APR techniques (including search-based
or semantic-based ones) have been proposed, they mainly work at the source-code
level and it is not clear how bytecode-level APR performs in practice. Also,
empirical studies of the existing techniques on bugs beyond what has been
reported in the original papers are rather limited. In this work, we implement
the first practical bytecode-level APR technique, PraPR, and present the first
extensive study on fixing real-world bugs (e.g., Defects4J bugs) using JVM
bytecode mutation. Our experimental results show that surprisingly even PraPR
with only the basic traditional mutators can produce genuine fixes for 17 bugs;
with simple additional commonly used APR mutators, PraPR is able to produce
genuine fixes for 43 bugs, significantly outperforming state-of-the-art APR,
while being over 10X faster. Furthermore, we performed an extensive study of
PraPR and other recent APR tools on a large number of additional real-world
bugs, and demonstrated the dataset-overfitting problem of recent advanced APR
tools for the first time. Lastly, PraPR has also successfully fixed bugs for
other JVM languages (e.g., for the popular Kotlin language), indicating PraPR
can greatly complement existing source-code-level APR.
报告人简介:
Dr. Lingming Zhang is an assistant professor in the Computer Science
Department at the University of Texas at Dallas. His research interests lie
broadly in software engineering and programming languages. He has authored over
50 papers in premier software engineering or programming language conferences
and transactions. He has also served on the program/organization committee or
artifact evaluation committee for various international conferences (including
ICSE, ISSTA, FSE, ASE, ICST, ICSM, and OOPSLA). He is a recipient of the Google
Faculty Research Award, SAMSUNG GRO Award, 2 ACM SIGSOFT Distinguished Paper
Awards (at ISSTA'19), and Best Industry Paper Award (at ICST'19).
时间:8月9日(星期五) 10:00
地点:计算机科学技术楼230室
|