The impacts of techniques, programs and tests on automated program repair: An empirical study
•An extensive study on the impacts of several factors on program repair is proposed.•Performance of the techniques declines with the increase of program size.•Adding more passed tests cannot impact the real repair effectiveness.•Adding more failed tests is helpful to some extent for the deterministi...
        Saved in:
      
    
          | Published in | The Journal of systems and software Vol. 137; pp. 480 - 496 | 
|---|---|
| Main Authors | , , , | 
| Format | Journal Article | 
| Language | English | 
| Published | 
            Elsevier Inc
    
        01.03.2018
     | 
| Subjects | |
| Online Access | Get full text | 
| ISSN | 0164-1212 1873-1228  | 
| DOI | 10.1016/j.jss.2017.06.039 | 
Cover
| Abstract | •An extensive study on the impacts of several factors on program repair is proposed.•Performance of the techniques declines with the increase of program size.•Adding more passed tests cannot impact the real repair effectiveness.•Adding more failed tests is helpful to some extent for the deterministic techniques.•Four techniques find more than 80% of patches within the first 50% of search space.
Manual program repair is notoriously tedious, error-prone, and costly, especially for the modern large-scale projects. Automated program repair can automatically find program patches without much human intervention, greatly reducing the burden of developers as well as accelerating software delivery. Therefore, much research effort has been dedicated to design powerful program repair techniques. To date, although various program repair techniques have been proposed, to our knowledge, there lacks extensive study on the impacts of repair techniques, subject programs, and test suites on the repair effectiveness and efficiency. In this paper, we perform such an extensive study on repairing 180 seeded and real faults from 17 small to large sized programs. We study the impacts of five representative automated program repair techniques, including GenProg, RSRepair, Brute-force-based technique, AE and Kali, on the repair results. We further investigate the impacts of different subject programs and test suites on effectiveness and efficiency of program repair techniques. Our study demonstrates a number of interesting findings: Brute-force-based technique generates the maximum number of patches but is also the most costly technique, while Kali is the most efficient and has medium effectiveness among the studied techniques; techniques that work well with small programs become too costly or ineffective when applied to large sized programs; since tool-reported patches may overfit the selected test cases, we calculate the false positive rates and find that the influence of failed test cases is much larger than that of passed test cases; finally, surprisingly, all the studied techniques except RSRepair can find more than 80% of successful patches within the first 50% of search space. | 
    
|---|---|
| AbstractList | •An extensive study on the impacts of several factors on program repair is proposed.•Performance of the techniques declines with the increase of program size.•Adding more passed tests cannot impact the real repair effectiveness.•Adding more failed tests is helpful to some extent for the deterministic techniques.•Four techniques find more than 80% of patches within the first 50% of search space.
Manual program repair is notoriously tedious, error-prone, and costly, especially for the modern large-scale projects. Automated program repair can automatically find program patches without much human intervention, greatly reducing the burden of developers as well as accelerating software delivery. Therefore, much research effort has been dedicated to design powerful program repair techniques. To date, although various program repair techniques have been proposed, to our knowledge, there lacks extensive study on the impacts of repair techniques, subject programs, and test suites on the repair effectiveness and efficiency. In this paper, we perform such an extensive study on repairing 180 seeded and real faults from 17 small to large sized programs. We study the impacts of five representative automated program repair techniques, including GenProg, RSRepair, Brute-force-based technique, AE and Kali, on the repair results. We further investigate the impacts of different subject programs and test suites on effectiveness and efficiency of program repair techniques. Our study demonstrates a number of interesting findings: Brute-force-based technique generates the maximum number of patches but is also the most costly technique, while Kali is the most efficient and has medium effectiveness among the studied techniques; techniques that work well with small programs become too costly or ineffective when applied to large sized programs; since tool-reported patches may overfit the selected test cases, we calculate the false positive rates and find that the influence of failed test cases is much larger than that of passed test cases; finally, surprisingly, all the studied techniques except RSRepair can find more than 80% of successful patches within the first 50% of search space. | 
    
| Author | Li, Bixin Wong, W. Eric Kong, Xianglong Zhang, Lingming  | 
    
| Author_xml | – sequence: 1 givenname: Xianglong surname: Kong fullname: Kong, Xianglong email: xlkong@seu.edu.cn organization: School of Computer Science and Engineering, Southeast University, 211189, China – sequence: 2 givenname: Lingming surname: Zhang fullname: Zhang, Lingming email: lingming.zhang@utdallas.edu organization: Department of Computer Science, University of Texas at Dallas, 75080, USA – sequence: 3 givenname: W. Eric surname: Wong fullname: Wong, W. Eric email: ewong@utdallas.edu organization: Department of Computer Science, University of Texas at Dallas, 75080, USA – sequence: 4 givenname: Bixin surname: Li fullname: Li, Bixin email: bx.li@seu.edu.cn organization: School of Computer Science and Engineering, Southeast University, 211189, China  | 
    
| BookMark | eNp9kM1KAzEUhYNUsK0-gLs8gB2TTJ1MdFWKf1BwU5cSMsmNzdDJjEkq9O1NqW5cdHUPnPNd7j0TNPK9B4SuKSkoodVtW7QxFoxQXpCqIKU4Q2Na83JGGatHaJwz86wpu0CTGFtCCGeEjdHHegPYdYPSKeLe4gR6493XDuINHkL_GVQXsfImG_GQ8FjtUt-pBObPxwEG5cI9XngM3eCC02qLY9qZ_SU6t2ob4ep3TtH70-N6-TJbvT2_LhermWaCp1lDuJhXitE7wRSxQvDGCFpDA0JTW0HTWJZPr3mj7FyXZRalZrSshDVGKFVOET_u1aGPMYCV2iWVXO9TUG4rKZGHlmQrc0vy0JIklcwtZZL-I4fgOhX2J5mHIwP5pW8HQUbtwGswLoBO0vTuBP0DwQ2D4A | 
    
| CitedBy_id | crossref_primary_10_1007_s11704_020_9263_1 crossref_primary_10_1016_j_ijcip_2022_100527 crossref_primary_10_1109_TSE_2022_3194188 crossref_primary_10_1016_j_eswa_2020_114503 crossref_primary_10_1007_s11704_020_9441_1 crossref_primary_10_1016_j_jss_2022_111249  | 
    
| Cites_doi | 10.1016/j.asoc.2011.01.023 10.1007/s10664-005-3861-2 10.1007/s10664-013-9282-8 10.1007/s10664-016-9470-4 10.1109/TSE.2015.2454513 10.1016/j.jss.2013.10.042 10.1007/978-3-540-24721-0_20 10.1109/TSE.2011.104 10.1016/j.jss.2010.07.027  | 
    
| ContentType | Journal Article | 
    
| Copyright | 2017 | 
    
| Copyright_xml | – notice: 2017 | 
    
| DBID | AAYXX CITATION  | 
    
| DOI | 10.1016/j.jss.2017.06.039 | 
    
| DatabaseName | CrossRef | 
    
| DatabaseTitle | CrossRef | 
    
| DatabaseTitleList | |
| DeliveryMethod | fulltext_linktorsrc | 
    
| Discipline | Computer Science | 
    
| EISSN | 1873-1228 | 
    
| EndPage | 496 | 
    
| ExternalDocumentID | 10_1016_j_jss_2017_06_039 S0164121217301279  | 
    
| GroupedDBID | --K --M -~X .DC .~1 0R~ 1B1 1~. 1~5 29L 4.4 457 4G. 5GY 5VS 7-5 71M 8P~ 9JN 9M8 AABNK AACTN AAEDT AAEDW AAIKJ AAKOC AALRI AAOAW AAQFI AAQXK AAXUO AAYFN AAYOK ABBOA ABEFU ABFNM ABFRF ABFSI ABJNI ABMAC ABTAH ABXDB ABYKQ ACDAQ ACGFO ACGFS ACGOD ACNNM ACRLP ACZNC ADBBV ADEZE ADHUB ADJOM ADMUD AEBSH AEFWE AEKER AENEX AFKWA AFTJW AGHFR AGUBO AGYEJ AHHHB AHZHX AI. AIALX AIEXJ AIKHN AITUG AJBFU AJOXV ALMA_UNASSIGNED_HOLDINGS AMFUW AMRAJ AOUOD ASPBG AVWKF AXJTR AZFZN BKOJK BKOMP BLXMC CS3 DU5 E.L EBS EFJIC EFLBG EJD EO8 EO9 EP2 EP3 FDB FEDTE FGOYB FIRID FNPLU FYGXN G-Q G8K GBLVA GBOLZ HLZ HVGLF HZ~ IHE J1W KOM LG9 M41 MO0 MS~ N9A O-L O9- OAUVE OZT P-8 P-9 P2P PC. PQQKQ Q38 R2- RIG RNS ROL RPZ RXW SBC SDF SDG SDP SES SEW SPC SPCBC SSV SSZ T5K TAE TN5 TWZ UHS UNMZH VH1 WUQ XPP ZMT ZY4 ~G- AATTM AAXKI AAYWO AAYXX ABDPE ABWVN ACLOT ACRPL ACVFH ADCNI ADNMO AEIPS AEUPX AFJKZ AFPUW AGQPQ AIGII AIIUN AKBMS AKRWK AKYEP ANKPU APXCP CITATION EFKBS ~HD  | 
    
| ID | FETCH-LOGICAL-c297t-b07946a21592a0f997bd918ebe9c1f6ebbf221287baf4c3387b3c21369fdd9aa3 | 
    
| IEDL.DBID | .~1 | 
    
| ISSN | 0164-1212 | 
    
| IngestDate | Wed Oct 01 04:23:14 EDT 2025 Thu Apr 24 23:12:33 EDT 2025 Fri Feb 23 02:33:20 EST 2024  | 
    
| IsPeerReviewed | true | 
    
| IsScholarly | true | 
    
| Keywords | Automated program repair Empirical study  | 
    
| Language | English | 
    
| LinkModel | DirectLink | 
    
| MergedId | FETCHMERGED-LOGICAL-c297t-b07946a21592a0f997bd918ebe9c1f6ebbf221287baf4c3387b3c21369fdd9aa3 | 
    
| PageCount | 17 | 
    
| ParticipantIDs | crossref_citationtrail_10_1016_j_jss_2017_06_039 crossref_primary_10_1016_j_jss_2017_06_039 elsevier_sciencedirect_doi_10_1016_j_jss_2017_06_039  | 
    
| ProviderPackageCode | CITATION AAYXX  | 
    
| PublicationCentury | 2000 | 
    
| PublicationDate | March 2018 2018-03-00  | 
    
| PublicationDateYYYYMMDD | 2018-03-01 | 
    
| PublicationDate_xml | – month: 03 year: 2018 text: March 2018  | 
    
| PublicationDecade | 2010 | 
    
| PublicationTitle | The Journal of systems and software | 
    
| PublicationYear | 2018 | 
    
| Publisher | Elsevier Inc | 
    
| Publisher_xml | – name: Elsevier Inc | 
    
| References | Gligoric, Groce, Zhang, Sharma, Alipour, Marinov (bib0016) 2013 Qi, Mao, Lei (bib0039) 2013 Kim, Nam, Song, Kim (bib0021) 2013 DeMarco, Xuan, Le Berre, Monperrus (bib0009) 2014 Long, Rinard (bib0029) 2015 Durieux, T., Martinez, M., Monperrus, M., Sommerard, R., Xuan, J., 2015. Automatic repair of real bugs: an experience report on the defects4j dataset. Thung, Lo, Jiang (bib0045) 2012 Elkarablieh, Khurshid (bib0012) 2008 Smith, Barr, Le Goues, Brun (bib0044) 2015 Nguyen, Nguyen, Nguyen, Nguyen, Rajan (bib0036) 2013 Wei, Pei, Furia, Silva, Buchholz, Meyer, Zeller (bib0046) 2010 Gu, Barr, Hamilton, Su (bib0017) 2010 He, Gupta (bib0018) 2004 Xiong, Wang, Yan, Zhang, Han, Huang, Zhang (bib0050) 2017 Monperrus (bib0035) 2014 Kong, Zhang, Wong, Li (bib0022) 2015 Arcuri, Yao (bib0002) 2008 . Perkins, Kim, Larsen, Amarasinghe, Bachrach, Carbin, Pacheco, Sherwood, Sidiroglou, Sullivan, Others, Wong, Zibin, Ernst, Rinard (bib0038) 2009 Martinez, Monperrus (bib0032) 2015 Le Goues, Dewey-Vogt, Forrest, Weimer (bib0025) 2012 Liu, Zhang (bib0028) 2012 Mechtaev, Yi, Roychoudhury (bib0034) 2015 Barr, Brun, Devanbu, Harman, Sarro (bib0003) 2014 Qi, Long, Achour, Rinard (bib0041) 2015 Jin, Lu (bib0019) 2011 Qi, Mao, Lei, Dai, Wang (bib0040) 2014 Langdon, Harman, Jia (bib0024) 2010 Long, Rinard (bib0030) 2016 Bradbury, Jalbert (bib0004) 2010 Gao, Xiong, Mi, Zhang, Yang, Zhou, Xie, Mei (bib0013) 2015 Koza (bib0023) 1992 Le Goues, Holtschulte, Smith, Brun, Devanbu, Forrest, Weimer (bib0026) 2015 Ghandehari, Lei, Kung, Kacker, Kuhn (bib0015) 2013 Zhong, Su (bib0052) 2015 Debroy, Wong (bib0008) 2014 Wilkerson, Tauritz, Bridges (bib0049) 2012 Carbin, Misailovic, Kling, Rinard (bib0005) 2011 Arcuri (bib0001) 2011 Weimer, Fry, Forrest (bib0047) 2013 Gao, Zhang, Wang, Xiong, Zhang, Mei (bib0014) 2015 Weimer, Nguyen, Le Goues, Forrest (bib0048) 2009 Debroy, Wong (bib0007) 2010 Nguyen, Qi, Roychoudhury, Chandra (bib0037) 2013 Martinez, Weimer, Monperrus (bib0033) 2014 Kaleeswaran, Tulsian, Kanade, Orso (bib0020) 2014 Le Goues, Nguyen, Forrest, Weimer (bib0027) 2012 Do, Elbaum, Rothermel (bib0010) 2005 Long, Sidiroglou-Douskos, Rinard (bib0031) 2014 Samirni, Schäfer, Artzi, Millstein, Tip, Hendren (bib0042) 2012 Schulte, Forrest, Weimer (bib0043) 2010 Dallmeier, Zeller, Meyer (bib0006) 2009 Zhang, Groce, Alipour (bib0051) 2014 Gao (10.1016/j.jss.2017.06.039_bib0014) 2015 Liu (10.1016/j.jss.2017.06.039_bib0028) 2012 Wei (10.1016/j.jss.2017.06.039_bib0046) 2010 Qi (10.1016/j.jss.2017.06.039_bib0040) 2014 Perkins (10.1016/j.jss.2017.06.039_bib0038) 2009 Carbin (10.1016/j.jss.2017.06.039_bib0005) 2011 Le Goues (10.1016/j.jss.2017.06.039_bib0027) 2012 Long (10.1016/j.jss.2017.06.039_bib0029) 2015 10.1016/j.jss.2017.06.039_bib0011 Arcuri (10.1016/j.jss.2017.06.039_bib0001) 2011 Debroy (10.1016/j.jss.2017.06.039_bib0008) 2014 Martinez (10.1016/j.jss.2017.06.039_bib0033) 2014 Samirni (10.1016/j.jss.2017.06.039_bib0042) 2012 Gao (10.1016/j.jss.2017.06.039_bib0013) 2015 Wilkerson (10.1016/j.jss.2017.06.039_bib0049) 2012 Gligoric (10.1016/j.jss.2017.06.039_bib0016) 2013 Long (10.1016/j.jss.2017.06.039_bib0031) 2014 Schulte (10.1016/j.jss.2017.06.039_bib0043) 2010 Weimer (10.1016/j.jss.2017.06.039_bib0047) 2013 Zhang (10.1016/j.jss.2017.06.039_bib0051) 2014 Gu (10.1016/j.jss.2017.06.039_bib0017) 2010 Weimer (10.1016/j.jss.2017.06.039_bib0048) 2009 Le Goues (10.1016/j.jss.2017.06.039_bib0025) 2012 Martinez (10.1016/j.jss.2017.06.039_bib0032) 2015 Kim (10.1016/j.jss.2017.06.039_bib0021) 2013 Barr (10.1016/j.jss.2017.06.039_bib0003) 2014 DeMarco (10.1016/j.jss.2017.06.039_bib0009) 2014 Langdon (10.1016/j.jss.2017.06.039_bib0024) 2010 Debroy (10.1016/j.jss.2017.06.039_bib0007) 2010 Long (10.1016/j.jss.2017.06.039_bib0030) 2016 Le Goues (10.1016/j.jss.2017.06.039_bib0026) 2015 Do (10.1016/j.jss.2017.06.039_bib0010) 2005 Nguyen (10.1016/j.jss.2017.06.039_bib0036) 2013 Elkarablieh (10.1016/j.jss.2017.06.039_bib0012) 2008 Mechtaev (10.1016/j.jss.2017.06.039_bib0034) 2015 Arcuri (10.1016/j.jss.2017.06.039_bib0002) 2008 Monperrus (10.1016/j.jss.2017.06.039_bib0035) 2014 Dallmeier (10.1016/j.jss.2017.06.039_bib0006) 2009 Kaleeswaran (10.1016/j.jss.2017.06.039_bib0020) 2014 Smith (10.1016/j.jss.2017.06.039_bib0044) 2015 Bradbury (10.1016/j.jss.2017.06.039_bib0004) 2010 Xiong (10.1016/j.jss.2017.06.039_bib0050) 2017 Jin (10.1016/j.jss.2017.06.039_bib0019) 2011 Nguyen (10.1016/j.jss.2017.06.039_bib0037) 2013 Thung (10.1016/j.jss.2017.06.039_bib0045) 2012 Qi (10.1016/j.jss.2017.06.039_bib0039) 2013 Ghandehari (10.1016/j.jss.2017.06.039_bib0015) 2013 Zhong (10.1016/j.jss.2017.06.039_bib0052) 2015 Qi (10.1016/j.jss.2017.06.039_bib0041) 2015 He (10.1016/j.jss.2017.06.039_bib0018) 2004 Kong (10.1016/j.jss.2017.06.039_bib0022) 2015 Koza (10.1016/j.jss.2017.06.039_bib0023) 1992  | 
    
| References_xml | – start-page: 550 year: 2009 end-page: 554 ident: bib0006 article-title: Generating fixes from object behavior anomalies publication-title: Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering – start-page: 176 year: 2015 end-page: 205 ident: bib0032 article-title: Mining software repair models for reasoning on the search space of automated program fixing publication-title: Empirical Softw. Eng. – start-page: 277 year: 2012 end-page: 287 ident: bib0042 article-title: Automated repair of HTML generation errors in PHP applications using string constraint solving publication-title: Proceedings of the 34th International Conference on Software Engineering – start-page: 45 year: 2014 end-page: 60 ident: bib0008 article-title: Combining mutation and fault localization for automated program debugging publication-title: J. Syst. Softw. – start-page: 3 year: 2012 end-page: 13 ident: bib0025 article-title: A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each publication-title: Proceedings of the 34th International Conference on Software Engineering – start-page: InPress year: 2017 ident: bib0050 article-title: Precise condition synthesis for program repair publication-title: Proceedings of the 39th International Conference on Software Engineering – start-page: 55 year: 2010 end-page: 64 ident: bib0017 article-title: Has the bug really been fixed? publication-title: Software Engineering, 2010 ACM/IEEE 32nd International Conference on – start-page: 1 year: 2010 end-page: 2 ident: bib0004 article-title: Automatic repair of concurrency bugs publication-title: Proceedings of the 2nd International Symposium on Search Based Software Engineering – start-page: 24 year: 2015 end-page: 36 ident: bib0041 article-title: An analysis of patch plausibility and correctness for generate-and-validate patch generation systems publication-title: Proceedings of the 2015 International Symposium on Software Testing and Analysis – start-page: 448 year: 2015 end-page: 458 ident: bib0034 article-title: Directfix: looking for simple program repairs publication-title: Proceedings of the 37th IEEE/ACM IEEE International Conference on Software Engineering – start-page: 307 year: 2015 end-page: 318 ident: bib0014 article-title: Fixing recurring crash bugs via analyzing q&a sites publication-title: Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering – start-page: 254 year: 2014 end-page: 265 ident: bib0040 article-title: The strength of random search on automated program repair publication-title: Proceedings of the 36th International Conference on Software Engineering – start-page: 234 year: 2014 end-page: 242 ident: bib0035 article-title: A critical review of “automatic patch generation learned from human-written patches”: essay on the problem statement and the evaluation of automatic software repair publication-title: Proceedings of the 36th International Conference on Software Engineering – start-page: 180 year: 2013 end-page: 189 ident: bib0039 article-title: Efficient automated program repair through fault-recorded testing prioritization publication-title: Proceedings of the 29th IEEE International Conference on Software Maintenance – start-page: 306 year: 2014 end-page: 317 ident: bib0003 article-title: The plastic surgery hypothesis publication-title: Proceedings of the 22nd ACM SIGSOFT International Symposium on the Foundations of Software Engineering – start-page: 356 year: 2013 end-page: 366 ident: bib0047 article-title: Leveraging program equivalence for adaptive program repair: models and first results publication-title: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering – start-page: 166 year: 2015 end-page: 178 ident: bib0029 article-title: Staged program repair with condition synthesis publication-title: Proceedings of the 10th Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering – start-page: 802 year: 2013 end-page: 811 ident: bib0021 article-title: Automatic patch generation learned from human-written patches publication-title: Proceedings of the 35th International Conference on Software Engineering – start-page: 532 year: 2015 end-page: 543 ident: bib0044 article-title: Is the cure worse than the disease? Overfitting in automated program repair publication-title: Proceedings of the 10th Joint Meeting of the European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering – start-page: 459 year: 2015 end-page: 470 ident: bib0013 article-title: Safe memory-leak fixing for C programs publication-title: Proceedings of the 37th International Conference on Software Engineering – start-page: 913 year: 2015 end-page: 923 ident: bib0052 article-title: An empirical study on real bug fixes publication-title: Proceedings of the 37th International Conference on Software Engineering – reference: Durieux, T., Martinez, M., Monperrus, M., Sommerard, R., Xuan, J., 2015. Automatic repair of real bugs: an experience report on the defects4j dataset. – start-page: 266 year: 2014 end-page: 276 ident: bib0020 article-title: Minthint: automated synthesis of repair hints publication-title: Proceedings of the 36th International Conference on Software Engineering – start-page: 772 year: 2013 end-page: 781 ident: bib0037 article-title: Semfix: program repair via semantic analysis publication-title: Proceedings of the 35th International Conference on Software Engineering – start-page: 162 year: 2008 end-page: 168 ident: bib0002 article-title: A novel co-evolutionary approach to automatic software bug fixing publication-title: Proceedings of 2008 IEEE Congress on Evolutionary Computation – start-page: 227 year: 2014 end-page: 238 ident: bib0031 article-title: Automatic runtime error repair and containment via recovery shepherding publication-title: Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation – start-page: 1229 year: 2012 end-page: 1236 ident: bib0049 article-title: Multi-objective coevolutionary automated software correction publication-title: Proceedings of the 14th Annual Conference on Genetic and Evolutionary Computation – start-page: 61 year: 2010 end-page: 72 ident: bib0046 article-title: Automated debugging of programs with contracts publication-title: Proceedings of the 19th International Symposium on Software Testing and Analysis – start-page: 168 year: 2013 end-page: 177 ident: bib0015 article-title: Fault localization based on failure-inducing combinations publication-title: Proceedings of the 24th International Symposium on Software Reliability Engineering – start-page: InPress year: 2016 ident: bib0030 article-title: Prophet: automatic patch generation via learning from successful patches publication-title: Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages – start-page: 194 year: 2015 end-page: 204 ident: bib0022 article-title: Experience report: how do techniques, programs, and tests impact automated program repair? publication-title: Proceedings of the 26th International Symposium on Software Reliability Engineering – start-page: 87 year: 2009 end-page: 102 ident: bib0038 article-title: Automatically patching errors in deployed software publication-title: Symposium on Operating Systems Principles – start-page: 30 year: 2014 end-page: 39 ident: bib0009 article-title: Automatic repair of buggy if conditions and missing preconditions with smt publication-title: Proceedings of the 6th International Workshop on Constraints in Software Testing, Verification, and Analysis – start-page: 855 year: 2008 end-page: 858 ident: bib0012 article-title: Juzi: a tool for repairing complex data structures publication-title: Proceedings of the 30th international conference on Software engineering – start-page: 302 year: 2013 end-page: 313 ident: bib0016 article-title: Comparing non-adequate test suites using coverage criteria publication-title: Proceedings of the 2013 International Symposium on Software Testing and Analysis – start-page: 2416 year: 2010 end-page: 2430 ident: bib0024 article-title: Efficient multi-objective higher order mutation testing with genetic programming publication-title: J.Syst. Softw. – start-page: 492 year: 2014 end-page: 495 ident: bib0033 article-title: Do the fix ingredients already exist? an empirical inquiry into the redundancy assumptions of program repair approaches publication-title: Companion Proceedings of the 36th International Conference on Software Engineering – start-page: 299 year: 2012 end-page: 309 ident: bib0028 article-title: Axis: automatically fixing atomicity violations through solving control constraints publication-title: Proceedings of the 34th International Conference on Software Engineering – start-page: 364 year: 2009 end-page: 374 ident: bib0048 article-title: Automatically finding patches using genetic programming publication-title: Proceedings of the 31st International Conference on Software Engineering – start-page: 1236 year: 2015 end-page: 1256 ident: bib0026 article-title: The manybugs and introclass benchmarks for automated repair of c programs publication-title: IEEE Trans. Softw. Eng. – start-page: 74 year: 2012 end-page: 77 ident: bib0045 article-title: Are faults localizable ? publication-title: Proceedings of Mining Software Repositories – start-page: 267 year: 2004 end-page: 280 ident: bib0018 article-title: Automated debugging using path-based weakest preconditions publication-title: Fundam. Approaches Softw. Eng. – reference: . – start-page: 389 year: 2011 end-page: 400 ident: bib0019 article-title: Automated atomicity-violation fixing publication-title: Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation – start-page: 160 year: 2014 end-page: 170 ident: bib0051 article-title: Using test case reduction and prioritization to improve symbolic execution publication-title: Proceedings of the 2014 International Symposium on Software Testing and Analysis – start-page: 609 year: 2011 end-page: 633 ident: bib0005 article-title: Detecting and escaping infinite loops with jolt publication-title: Proceedings of the 25th European Conference on Object-Oriented Programming – start-page: 180 year: 2013 end-page: 190 ident: bib0036 article-title: A study of repetitiveness of code changes in software evolution publication-title: Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering – start-page: 65 year: 2010 end-page: 74 ident: bib0007 article-title: Using mutation to automatically suggest fixes for faulty programs publication-title: Proceedings of the 3rd International Conference on Software Testing, Verification and Validation – year: 1992 ident: bib0023 article-title: Genetic Programming: On the Programming of Computers by Means of Natural Selection – start-page: 3494 year: 2011 end-page: 3514 ident: bib0001 article-title: Evolutionary repair of faulty software publication-title: Appl. Soft Comput. J. – start-page: 405 year: 2005 end-page: 435 ident: bib0010 article-title: Supporting controlled experimentation with testing techniques: an infrastructure and its potential impact publication-title: Empirical Softw. Eng. Int. J. – start-page: 1 year: 2010 end-page: 4 ident: bib0043 article-title: Automated program repair through the evolution of assembly code publication-title: Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering – start-page: 54 year: 2012 end-page: 72 ident: bib0027 article-title: Genprog: a generic method for automatic software repair publication-title: IEEE Trans. Softw. Eng. – start-page: 389 year: 2011 ident: 10.1016/j.jss.2017.06.039_bib0019 article-title: Automated atomicity-violation fixing – start-page: 166 year: 2015 ident: 10.1016/j.jss.2017.06.039_bib0029 article-title: Staged program repair with condition synthesis – start-page: 254 year: 2014 ident: 10.1016/j.jss.2017.06.039_bib0040 article-title: The strength of random search on automated program repair – start-page: 448 year: 2015 ident: 10.1016/j.jss.2017.06.039_bib0034 article-title: Directfix: looking for simple program repairs – start-page: 3494 year: 2011 ident: 10.1016/j.jss.2017.06.039_bib0001 article-title: Evolutionary repair of faulty software publication-title: Appl. Soft Comput. J. doi: 10.1016/j.asoc.2011.01.023 – start-page: 405 year: 2005 ident: 10.1016/j.jss.2017.06.039_bib0010 article-title: Supporting controlled experimentation with testing techniques: an infrastructure and its potential impact publication-title: Empirical Softw. Eng. Int. J. doi: 10.1007/s10664-005-3861-2 – start-page: 55 year: 2010 ident: 10.1016/j.jss.2017.06.039_bib0017 article-title: Has the bug really been fixed? – start-page: 176 year: 2015 ident: 10.1016/j.jss.2017.06.039_bib0032 article-title: Mining software repair models for reasoning on the search space of automated program fixing publication-title: Empirical Softw. Eng. doi: 10.1007/s10664-013-9282-8 – start-page: 277 year: 2012 ident: 10.1016/j.jss.2017.06.039_bib0042 article-title: Automated repair of HTML generation errors in PHP applications using string constraint solving – start-page: 24 year: 2015 ident: 10.1016/j.jss.2017.06.039_bib0041 article-title: An analysis of patch plausibility and correctness for generate-and-validate patch generation systems – start-page: 364 year: 2009 ident: 10.1016/j.jss.2017.06.039_bib0048 article-title: Automatically finding patches using genetic programming – start-page: 74 year: 2012 ident: 10.1016/j.jss.2017.06.039_bib0045 article-title: Are faults localizable ? – start-page: 772 year: 2013 ident: 10.1016/j.jss.2017.06.039_bib0037 article-title: Semfix: program repair via semantic analysis – start-page: 266 year: 2014 ident: 10.1016/j.jss.2017.06.039_bib0020 article-title: Minthint: automated synthesis of repair hints – start-page: 30 year: 2014 ident: 10.1016/j.jss.2017.06.039_bib0009 article-title: Automatic repair of buggy if conditions and missing preconditions with smt – start-page: 65 year: 2010 ident: 10.1016/j.jss.2017.06.039_bib0007 article-title: Using mutation to automatically suggest fixes for faulty programs – ident: 10.1016/j.jss.2017.06.039_bib0011 doi: 10.1007/s10664-016-9470-4 – start-page: 234 year: 2014 ident: 10.1016/j.jss.2017.06.039_bib0035 article-title: A critical review of “automatic patch generation learned from human-written patches”: essay on the problem statement and the evaluation of automatic software repair – start-page: 855 year: 2008 ident: 10.1016/j.jss.2017.06.039_bib0012 article-title: Juzi: a tool for repairing complex data structures – start-page: 307 year: 2015 ident: 10.1016/j.jss.2017.06.039_bib0014 article-title: Fixing recurring crash bugs via analyzing q&a sites – start-page: 160 year: 2014 ident: 10.1016/j.jss.2017.06.039_bib0051 article-title: Using test case reduction and prioritization to improve symbolic execution – start-page: 3 year: 2012 ident: 10.1016/j.jss.2017.06.039_bib0025 article-title: A systematic study of automated program repair: fixing 55 out of 105 bugs for $8 each – start-page: 532 year: 2015 ident: 10.1016/j.jss.2017.06.039_bib0044 article-title: Is the cure worse than the disease? Overfitting in automated program repair – start-page: InPress year: 2017 ident: 10.1016/j.jss.2017.06.039_bib0050 article-title: Precise condition synthesis for program repair – start-page: 194 year: 2015 ident: 10.1016/j.jss.2017.06.039_bib0022 article-title: Experience report: how do techniques, programs, and tests impact automated program repair? – start-page: 162 year: 2008 ident: 10.1016/j.jss.2017.06.039_bib0002 article-title: A novel co-evolutionary approach to automatic software bug fixing – start-page: 227 year: 2014 ident: 10.1016/j.jss.2017.06.039_bib0031 article-title: Automatic runtime error repair and containment via recovery shepherding – start-page: 913 year: 2015 ident: 10.1016/j.jss.2017.06.039_bib0052 article-title: An empirical study on real bug fixes – start-page: 1236 year: 2015 ident: 10.1016/j.jss.2017.06.039_bib0026 article-title: The manybugs and introclass benchmarks for automated repair of c programs publication-title: IEEE Trans. Softw. Eng. doi: 10.1109/TSE.2015.2454513 – start-page: 1 year: 2010 ident: 10.1016/j.jss.2017.06.039_bib0043 article-title: Automated program repair through the evolution of assembly code – start-page: 802 year: 2013 ident: 10.1016/j.jss.2017.06.039_bib0021 article-title: Automatic patch generation learned from human-written patches – start-page: InPress year: 2016 ident: 10.1016/j.jss.2017.06.039_bib0030 article-title: Prophet: automatic patch generation via learning from successful patches – start-page: 45 year: 2014 ident: 10.1016/j.jss.2017.06.039_bib0008 article-title: Combining mutation and fault localization for automated program debugging publication-title: J. Syst. Softw. doi: 10.1016/j.jss.2013.10.042 – start-page: 356 year: 2013 ident: 10.1016/j.jss.2017.06.039_bib0047 article-title: Leveraging program equivalence for adaptive program repair: models and first results – start-page: 1 year: 2010 ident: 10.1016/j.jss.2017.06.039_bib0004 article-title: Automatic repair of concurrency bugs – start-page: 306 year: 2014 ident: 10.1016/j.jss.2017.06.039_bib0003 article-title: The plastic surgery hypothesis – start-page: 299 year: 2012 ident: 10.1016/j.jss.2017.06.039_bib0028 article-title: Axis: automatically fixing atomicity violations through solving control constraints – start-page: 492 year: 2014 ident: 10.1016/j.jss.2017.06.039_bib0033 article-title: Do the fix ingredients already exist? an empirical inquiry into the redundancy assumptions of program repair approaches – start-page: 87 year: 2009 ident: 10.1016/j.jss.2017.06.039_bib0038 article-title: Automatically patching errors in deployed software – start-page: 267 year: 2004 ident: 10.1016/j.jss.2017.06.039_bib0018 article-title: Automated debugging using path-based weakest preconditions publication-title: Fundam. Approaches Softw. Eng. doi: 10.1007/978-3-540-24721-0_20 – start-page: 54 year: 2012 ident: 10.1016/j.jss.2017.06.039_bib0027 article-title: Genprog: a generic method for automatic software repair publication-title: IEEE Trans. Softw. Eng. doi: 10.1109/TSE.2011.104 – start-page: 180 year: 2013 ident: 10.1016/j.jss.2017.06.039_bib0039 article-title: Efficient automated program repair through fault-recorded testing prioritization – start-page: 609 year: 2011 ident: 10.1016/j.jss.2017.06.039_bib0005 article-title: Detecting and escaping infinite loops with jolt – start-page: 61 year: 2010 ident: 10.1016/j.jss.2017.06.039_bib0046 article-title: Automated debugging of programs with contracts – start-page: 459 year: 2015 ident: 10.1016/j.jss.2017.06.039_bib0013 article-title: Safe memory-leak fixing for C programs – start-page: 2416 year: 2010 ident: 10.1016/j.jss.2017.06.039_bib0024 article-title: Efficient multi-objective higher order mutation testing with genetic programming publication-title: J.Syst. Softw. doi: 10.1016/j.jss.2010.07.027 – start-page: 180 year: 2013 ident: 10.1016/j.jss.2017.06.039_bib0036 article-title: A study of repetitiveness of code changes in software evolution – start-page: 550 year: 2009 ident: 10.1016/j.jss.2017.06.039_bib0006 article-title: Generating fixes from object behavior anomalies – start-page: 1229 year: 2012 ident: 10.1016/j.jss.2017.06.039_bib0049 article-title: Multi-objective coevolutionary automated software correction – start-page: 302 year: 2013 ident: 10.1016/j.jss.2017.06.039_bib0016 article-title: Comparing non-adequate test suites using coverage criteria – year: 1992 ident: 10.1016/j.jss.2017.06.039_bib0023 – start-page: 168 year: 2013 ident: 10.1016/j.jss.2017.06.039_bib0015 article-title: Fault localization based on failure-inducing combinations  | 
    
| SSID | ssj0007202 | 
    
| Score | 2.2840574 | 
    
| Snippet | •An extensive study on the impacts of several factors on program repair is proposed.•Performance of the techniques declines with the increase of program... | 
    
| SourceID | crossref elsevier  | 
    
| SourceType | Enrichment Source Index Database Publisher  | 
    
| StartPage | 480 | 
    
| SubjectTerms | Automated program repair Empirical study  | 
    
| Title | The impacts of techniques, programs and tests on automated program repair: An empirical study | 
    
| URI | https://dx.doi.org/10.1016/j.jss.2017.06.039 | 
    
| Volume | 137 | 
    
| hasFullText | 1 | 
    
| inHoldings | 1 | 
    
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVESC databaseName: Baden-Württemberg Complete Freedom Collection (Elsevier) customDbUrl: eissn: 1873-1228 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0007202 issn: 0164-1212 databaseCode: GBLVA dateStart: 20110101 isFulltext: true titleUrlDefault: https://www.sciencedirect.com providerName: Elsevier – providerCode: PRVESC databaseName: Elsevier SD Complete Freedom Collection [SCCMFC] customDbUrl: eissn: 1873-1228 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0007202 issn: 0164-1212 databaseCode: ACRLP dateStart: 19950101 isFulltext: true titleUrlDefault: https://www.sciencedirect.com providerName: Elsevier – providerCode: PRVESC databaseName: Elsevier SD Freedom Collection Journals [SCFCJ] customDbUrl: eissn: 1873-1228 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0007202 issn: 0164-1212 databaseCode: AIKHN dateStart: 19950101 isFulltext: true titleUrlDefault: https://www.sciencedirect.com providerName: Elsevier – providerCode: PRVESC databaseName: ScienceDirect (Elsevier) customDbUrl: eissn: 1873-1228 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0007202 issn: 0164-1212 databaseCode: .~1 dateStart: 19950101 isFulltext: true titleUrlDefault: https://www.sciencedirect.com providerName: Elsevier – providerCode: PRVLSH databaseName: Elsevier Journals customDbUrl: mediaType: online eissn: 1873-1228 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0007202 issn: 0164-1212 databaseCode: AKRWK dateStart: 19950101 isFulltext: true providerName: Library Specific Holdings  | 
    
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV07T8MwELYqWFh4I8qj8sCECI0TJ67ZqoqqgOgClbqgyHYcKRWkVZOu_Hbu8iggAQNj4jspOtv3UL77jpALwxRU0iZwNAQHhyd-4KiAIYuogXLIM37oY7_z4zgcTfj9NJi2yKDphUFYZe37K59eeuv6Tbe2ZneRpt0nJIdi4HkZHlJPYBMf5wKnGFy_f8I8hFfiDlHYQenmz2aJ8ZrlyNjNREnhifPCf4pNX-LNcJds14ki7VffskdaNtsnO80QBlrfyQPyAhtNq17HnM4TuiZlza9oDb7KqcpiWMhRIqNqVcwhT7Vxs06XEJPS5Q3tZ9S-LdKSNYSWxLOHZDK8fR6MnHpmgmM8KQpHu8gYryCQS0-5iZRCx5L1YKukYUlotU48sEJPaJVwA_Wp0L7xmB_KJI6lUv4R2cjmmT0mNJbWhJANhK5VPOYah6PzWIbcCGGNYm3iNtaKTE0ojnMtXqMGOTaLwMARGjhC9Jwv2-RyrbKo2DT-EubNFkTfjkQE3v53tZP_qZ2SLXjqVfCyM7JRLFf2HPKNQnfKA9Uhm_27h9H4A1GI1N4 | 
    
| linkProvider | Elsevier | 
    
| linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwnV07T8MwELZKGWDhjShPD0yI0Npx4pqtqkAF2i60UhcU2Y4jpYK0atKV3845jwISMLDGZym6u9xD-e47hC41kdBJa89RkBwcFrmeIz1iWUQ1tENUu75r550HQ783Zo8Tb1JD3WoWxsIqy9hfxPQ8WpdPmqU2m_M4bj5bcigCkZdYJ6VcrKF15lFuO7Cb90-cB6c58NBKO1a8-rWZg7ymqaXsJjzn8LQLw39KTl8Szv0O2iorRdwpXmYX1Uyyh7arLQy4_Cj30QtYGhfDjimeRXjFyppe4xJ9lWKZhHCQWokEy2U2g0LVhNU5XkBSihe3uJNg8zaPc9oQnDPPHqDx_d2o23PKpQmOpoJnjmpZyngJmVxQ2YqE4CoUpA22EppEvlEqoqCFNlcyYhoaVK5cTYnriygMhZTuIaons8QcIRwKo30oB_yWkSxkym5HZ6HwmebcaEkaqFVpK9Alo7hdbPEaVNCxaQAKDqyCAwufc0UDXa2uzAs6jb-EWWWC4JtPBBDuf792_L9rF2ijNxr0g_7D8OkEbcJJu8CanaJ6tliaMyg-MnWeO9cHZjbWcw | 
    
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=The+impacts+of+techniques%2C+programs+and+tests+on+automated+program+repair%3A+An+empirical+study&rft.jtitle=The+Journal+of+systems+and+software&rft.au=Kong%2C+Xianglong&rft.au=Zhang%2C+Lingming&rft.au=Wong%2C+W.+Eric&rft.au=Li%2C+Bixin&rft.date=2018-03-01&rft.pub=Elsevier+Inc&rft.issn=0164-1212&rft.eissn=1873-1228&rft.volume=137&rft.spage=480&rft.epage=496&rft_id=info:doi/10.1016%2Fj.jss.2017.06.039&rft.externalDocID=S0164121217301279 | 
    
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0164-1212&client=summon | 
    
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0164-1212&client=summon | 
    
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0164-1212&client=summon |