Digging into Semantics: Where Do Search-Based Software Repair Methods Search?
Digging into Semantics: Where Do Search-Based Software Repair Methods Search?
复制标题
DOI:
10.1007/978-3-031-14721-0_1
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Hammad Ahmad;Padriac Cashin;S. Forrest;Westley Weimer
中科院分区:
文献类型:
--
作者:
Hammad Ahmad;Padriac Cashin;S. Forrest;Westley Weimer
Search-based methods are a popular approach for automatically repairing software bugs, a field known as automated program repair (APR). There is increasing interest in empirical evaluation and comparison of different APR methods, typically measured as the rate of successful repairs on benchmark sets of buggy programs. Such evaluations, however, fail to explainwhysome approaches succeed and others fail. Because these methods typically use syntactic representations, i.e., source code, we know little about how the different methods explore their semantic spaces, which is relevant for assessing repair quality and understanding search dynamics. We propose an automated method based on program semantics, which provides quantitative and qualitative information about different APR search-based techniques. Our approach requires no manual annotation and produces both mathematical and human-understandable insights. In an empirical evaluation of 4 APR tools and 34 defects, we investigate the relationship between search-space exploration, semantic diversity and repair success, examining both the overall picture and how the tools’ search unfolds. Our results suggest that population diversity alone is not sufficient for finding repairs, and that searching in the right place is more important than searching broadly, highlighting future directions for the research community.