TY - GEN
T1 - Experience report
T2 - 26th IEEE International Symposium on Software Reliability Engineering, ISSRE 2015
AU - Kong, Xianglong
AU - Zhang, Lingming
AU - Wong, W. Eric
AU - Li, Bixin
N1 - Funding Information:
This work is sponsored partially by China Scholarship Council No.201406090080, partially by National Natural Science Foundation of China under Grant No. 61572126 and partially by Huawei Innovation Research Program (HIRP) under Grant No. YB2013120195.
Publisher Copyright:
© 2015 IEEE.
PY - 2016/1/13
Y1 - 2016/1/13
N2 - Automated program repair can save tremendous manual efforts in software debugging. Therefore, a huge body of research efforts have been dedicated to design and implement automated program repair techniques. Among the existing program repair techniques, genetic-programming-based techniques have shown promising results. Recently, researchers found that random-search-based and adaptive program repair techniques can also produce effective results. In this work, we performed an extensive study for four program repair techniques, including genetic-programming-based, random-search-based, brute-force-based and adaptive program repair techniques. Due to the extremely large time cost of the studied techniques, the study was performed on 153 bugs from 9 small to medium sized programs. In the study, we further investigated the impacts of different programs and test suites on effectiveness and efficiency of program repair techniques. We found that techniques that work well with small programs become too costly or ineffective when applied to medium sized programs. We also computed the false positive rates and discussed the ratio of the explored search space to the whole search space for each studied technique. Surprisingly, all the studied techniques except the random-search-based technique are consistent with the 80/20 rule, i.e., about 80% of successful patches are found within the first 20% of search space.
AB - Automated program repair can save tremendous manual efforts in software debugging. Therefore, a huge body of research efforts have been dedicated to design and implement automated program repair techniques. Among the existing program repair techniques, genetic-programming-based techniques have shown promising results. Recently, researchers found that random-search-based and adaptive program repair techniques can also produce effective results. In this work, we performed an extensive study for four program repair techniques, including genetic-programming-based, random-search-based, brute-force-based and adaptive program repair techniques. Due to the extremely large time cost of the studied techniques, the study was performed on 153 bugs from 9 small to medium sized programs. In the study, we further investigated the impacts of different programs and test suites on effectiveness and efficiency of program repair techniques. We found that techniques that work well with small programs become too costly or ineffective when applied to medium sized programs. We also computed the false positive rates and discussed the ratio of the explored search space to the whole search space for each studied technique. Surprisingly, all the studied techniques except the random-search-based technique are consistent with the 80/20 rule, i.e., about 80% of successful patches are found within the first 20% of search space.
UR - http://www.scopus.com/inward/record.url?scp=84964870202&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84964870202&partnerID=8YFLogxK
U2 - 10.1109/ISSRE.2015.7381813
DO - 10.1109/ISSRE.2015.7381813
M3 - Conference contribution
AN - SCOPUS:84964870202
T3 - 2015 IEEE 26th International Symposium on Software Reliability Engineering, ISSRE 2015
SP - 194
EP - 204
BT - 2015 IEEE 26th International Symposium on Software Reliability Engineering, ISSRE 2015
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 2 November 2015 through 5 November 2015
ER -