{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T15:13:00Z","timestamp":1742915580075,"version":"3.40.3"},"publisher-location":"Cham","reference-count":58,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030399573"},{"type":"electronic","value":"9783030399580"}],"license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020]]},"DOI":"10.1007\/978-3-030-39958-0_19","type":"book-chapter","created":{"date-parts":[[2020,5,7]],"date-time":"2020-05-07T13:29:08Z","timestamp":1588858148000},"page":"383-406","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["An Evolutionary System for Better Automatic Software Repair"],"prefix":"10.1007","author":[{"given":"Yuan","family":"Yuan","sequence":"first","affiliation":[]},{"given":"Wolfgang","family":"Banzhaf","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,5,8]]},"reference":[{"key":"19_CR1","doi-asserted-by":"crossref","unstructured":"Arcuri, A.: It does matter how you normalise the branch distance in search based software testing. In: Proceedings of the Third International Conference on Software Testing, Verification and Validation, pp. 205\u2013214. IEEE (2010)","DOI":"10.1109\/ICST.2010.17"},{"key":"19_CR2","unstructured":"Banzhaf, W., Nordin, P., Keller, R.E., Francone, F.D.: Genetic programming: An introduction, vol. 1. Morgan Kaufmann San Francisco (1998)"},{"key":"19_CR3","doi-asserted-by":"crossref","unstructured":"Barr, E.T., Brun, Y., Devanbu, P., Harman, M., Sarro, F.: The plastic surgery hypothesis. In: Proceedings of the 22nd International Symposium on Foundations of Software Engineering, pp. 306\u2013317. ACM (2014)","DOI":"10.1145\/2635868.2635898"},{"key":"19_CR4","unstructured":"Brameier, M.F., Banzhaf, W.: Linear genetic programming. Springer Science & Business Media (2007)"},{"key":"19_CR5","doi-asserted-by":"crossref","unstructured":"Campos, J., Riboira, A., Perez, A., Abreu, R.: Gzoltar: An eclipse plug-in for testing and debugging. In: Proceedings of the 27th IEEE\/ACM International Conference on Automated Software Engineering, pp. 378\u2013381. ACM (2012)","DOI":"10.1145\/2351676.2351752"},{"key":"19_CR6","doi-asserted-by":"crossref","unstructured":"Chen, L., Pei, Y., Furia, C.A.: Contract-based program repair without the contracts. In: Proceedings of the 32nd IEEE\/ACM International Conference on Automated Software Engineering, pp. 637\u2013647. IEEE (2017)","DOI":"10.1109\/ASE.2017.8115674"},{"key":"19_CR7","unstructured":"Contributors, J.: A programmer-oriented testing framework for java (2004). URL https:\/\/github.com\/junit-team\/junit4"},{"key":"19_CR8","doi-asserted-by":"crossref","unstructured":"D\u2019Antoni, L., Samanta, R., Singh, R.: Qlose: Program repair with quantitative objectives. In: Proceedings of International Conference on Computer Aided Verification, pp. 383\u2013401. Springer (2016)","DOI":"10.1007\/978-3-319-41540-6_21"},{"issue":"2","key":"19_CR9","doi-asserted-by":"publisher","first-page":"182","DOI":"10.1109\/4235.996017","volume":"6","author":"K Deb","year":"2002","unstructured":"Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6(2), 182\u2013197 (2002)","journal-title":"IEEE Transactions on Evolutionary Computation"},{"key":"19_CR10","doi-asserted-by":"crossref","unstructured":"Debroy, V., Wong, W.E.: Using mutation to automatically suggest fixes for faulty programs. In: Proceedings of the Third International Conference on Software Testing, Verification and Validation, pp. 65\u201374. IEEE (2010)","DOI":"10.1109\/ICST.2010.66"},{"key":"19_CR11","doi-asserted-by":"crossref","unstructured":"Fast, E., Le Goues, C., Forrest, S., Weimer, W.: Designing better fitness functions for automated program repair. In: Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation, pp. 965\u2013972. ACM (2010)","DOI":"10.1145\/1830483.1830654"},{"key":"19_CR12","doi-asserted-by":"crossref","unstructured":"Forrest, S., Nguyen, T., Weimer, W., Le Goues, C.: A genetic programming approach to automated software repair. In: Proceedings of the 11th Annual conference on Genetic and Evolutionary Computation, pp. 947\u2013954. ACM (2009)","DOI":"10.1145\/1569901.1570031"},{"issue":"1","key":"19_CR13","doi-asserted-by":"publisher","first-page":"34","DOI":"10.1109\/TSE.2017.2755013","volume":"45","author":"L Gazzola","year":"2019","unstructured":"Gazzola, L., Micucci, D., Mariani, L.: Automatic software repair: A survey. IEEE Transactions on Software Engineering 45(1), 34\u201367 (2019)","journal-title":"IEEE Transactions on Software Engineering"},{"key":"19_CR14","doi-asserted-by":"crossref","unstructured":"Gupta, R., Pal, S., Kanade, A., Shevade, S.: Deepfix: Fixing common c language errors by deep learning. In: Proceedings of the 31st AAAI Conference on Artificial Intelligence, pp. 1345\u20131351 (2017)","DOI":"10.1609\/aaai.v31i1.10742"},{"issue":"5","key":"19_CR15","doi-asserted-by":"publisher","first-page":"630","DOI":"10.1109\/TEVC.2014.2362729","volume":"19","author":"T Helmuth","year":"2015","unstructured":"Helmuth, T., Spector, L., Matheson, J.: Solving uncompromising problems with lexicase selection. IEEE Transactions on Evolutionary Computation 19(5), 630\u2013643 (2015)","journal-title":"IEEE Transactions on Evolutionary Computation"},{"key":"19_CR16","doi-asserted-by":"crossref","unstructured":"Hua, J., Zhang, M., Wang, K., Khurshid, S.: Towards practical program repair with on-demand candidate generation. In: Proceedings of the 40th International Conference on Software Engineering, pp. 12\u201323. ACM (2018)","DOI":"10.1145\/3180155.3180245"},{"key":"19_CR17","doi-asserted-by":"crossref","unstructured":"Jiang, J., Xiong, Y., Zhang, H., Gao, Q., Chen, X.: Shaping program repair space with existing patches and similar code. In: Proceedings of the 27th International Symposium on Software Testing and Analysis, pp. 298\u2013309. ACM (2018)","DOI":"10.1145\/3213846.3213871"},{"key":"19_CR18","doi-asserted-by":"crossref","unstructured":"Just, R., Jalali, D., Ernst, M.D.: Defects4j: A database of existing faults to enable controlled testing studies for java programs. In: Proceedings of the 2014 International Symposium on Software Testing and Analysis, pp. 437\u2013440. ACM (2014)","DOI":"10.1145\/2610384.2628055"},{"key":"19_CR19","doi-asserted-by":"crossref","unstructured":"Ke, Y., Stolee, K.T., Le Goues, C., Brun, Y.: Repairing programs with semantic code search. In: Proceedings of the 30th IEEE\/ACM International Conference on Automated Software Engineering, pp. 295\u2013306. IEEE (2015)","DOI":"10.1109\/ASE.2015.60"},{"key":"19_CR20","doi-asserted-by":"crossref","unstructured":"Kim, D., Nam, J., Song, J., Kim, S.: Automatic patch generation learned from human-written patches. In: Proceedings of the 35th International Conference on Software Engineering, pp. 802\u2013811. IEEE (2013)","DOI":"10.1109\/ICSE.2013.6606626"},{"key":"19_CR21","unstructured":"Koza, J.R.: Genetic programming: on the programming of computers by means of natural selection, vol. 1. MIT press (1992)"},{"key":"19_CR22","doi-asserted-by":"crossref","unstructured":"Le, X.B.D., Chu, D.H., Lo, D., Le Goues, C., Visser, W.: Jfix: Semantics-based repair of java programs via symbolic pathfinder. In: Proceedings of the 26th International Symposium on Software Testing and Analysis, pp. 376\u2013379. ACM (2017)","DOI":"10.1145\/3092703.3098225"},{"key":"19_CR23","doi-asserted-by":"crossref","unstructured":"Le, X.B.D., Chu, D.H., Lo, D., Le Goues, C., Visser, W.: S3: syntax-and semantic-guided repair synthesis via programming by examples. In: Proceedings of the 11th Joint Meeting on Foundations of Software Engineering, pp. 593\u2013604. ACM (2017)","DOI":"10.1145\/3106237.3106309"},{"key":"19_CR24","doi-asserted-by":"crossref","unstructured":"Le, X.B.D., Lo, D., Le Goues, C.: History driven program repair. In: Proceedings of the 23rd International Conference on Software Analysis, Evolution, and Reengineering, pp. 213\u2013224. IEEE (2016)","DOI":"10.1109\/SANER.2016.76"},{"key":"19_CR25","doi-asserted-by":"crossref","unstructured":"Le Goues, C., Dewey-Vogt, M., Forrest, S., Weimer, W.: A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each. In: Proceedings of the 34th International Conference on Software Engineering, pp. 3\u201313. IEEE (2012)","DOI":"10.1109\/ICSE.2012.6227211"},{"issue":"3","key":"19_CR26","doi-asserted-by":"publisher","first-page":"421","DOI":"10.1007\/s11219-013-9208-0","volume":"21","author":"C Le Goues","year":"2013","unstructured":"Le Goues, C., Forrest, S., Weimer, W.: Current challenges in automatic software repair. Software Quality Journal 21(3), 421\u2013443 (2013)","journal-title":"Software Quality Journal"},{"issue":"1","key":"19_CR27","doi-asserted-by":"publisher","first-page":"54","DOI":"10.1109\/TSE.2011.104","volume":"38","author":"C Le Goues","year":"2012","unstructured":"Le Goues, C., Nguyen, T., Forrest, S., Weimer, W.: Genprog: A generic method for automatic software repair. IEEE Transactions on Software Engineering 38(1), 54\u201372 (2012)","journal-title":"IEEE Transactions on Software Engineering"},{"key":"19_CR28","doi-asserted-by":"crossref","unstructured":"Lehman, J., Clune, J., Misevic, D., Adami, C., Altenberg, L., Beaulieu, J., Bentley, P.J., Bernard, S., Beslon, G., Bryson, D.M., et al.: The surprising creativity of digital evolution: A collection of anecdotes from the evolutionary computation and artificial life research communities. arXiv preprint arXiv:1803.03453 (2018)","DOI":"10.1162\/isal_a_00016"},{"key":"19_CR29","doi-asserted-by":"crossref","unstructured":"Liu, X., Zhong, H.: Mining stackoverflow for program repair. In: Proceedings of 25th International Conference on Software Analysis, Evolution and Reengineering, pp. 118\u2013129. IEEE (2018)","DOI":"10.1109\/SANER.2018.8330202"},{"key":"19_CR30","doi-asserted-by":"crossref","unstructured":"Long, F., Amidon, P., Rinard, M.: Automatic inference of code transforms for patch generation. In: Proceedings of the 11th Joint Meeting on Foundations of Software Engineering, pp. 727\u2013739. ACM (2017)","DOI":"10.1145\/3106237.3106253"},{"key":"19_CR31","doi-asserted-by":"crossref","unstructured":"Long, F., Rinard, M.: Staged program repair with condition synthesis. In: Proceedings of the 10th Joint Meeting on Foundations of Software Engineering, pp. 166\u2013178. ACM (2015)","DOI":"10.1145\/2786805.2786811"},{"issue":"1","key":"19_CR32","doi-asserted-by":"publisher","first-page":"298","DOI":"10.1145\/2914770.2837617","volume":"51","author":"F Long","year":"2016","unstructured":"Long, F., Rinard, M.: Automatic patch generation by learning correct code. ACM SIGPLAN Notices 51(1), 298\u2013312 (2016)","journal-title":"ACM SIGPLAN Notices"},{"issue":"4","key":"19_CR33","doi-asserted-by":"publisher","first-page":"1936","DOI":"10.1007\/s10664-016-9470-4","volume":"22","author":"M Martinez","year":"2017","unstructured":"Martinez, M., Durieux, T., Sommerard, R., Xuan, J., Monperrus, M.: Automatic repair of real bugs in java: A large-scale experiment on the defects4j dataset. Empirical Software Engineering 22(4), 1936\u20131964 (2017)","journal-title":"Empirical Software Engineering"},{"key":"19_CR34","doi-asserted-by":"crossref","unstructured":"Martinez, M., Monperrus, M.: Astor: A program repair library for java. In: Proceedings of the 25th International Symposium on Software Testing and Analysis, pp. 441\u2013444. ACM (2016)","DOI":"10.1145\/2931037.2948705"},{"key":"19_CR35","doi-asserted-by":"crossref","unstructured":"Martinez, M., Monperrus, M.: Ultra-large repair search space with automatically mined templates: the cardumen mode of astor. In: International Symposium on Search Based Software Engineering, pp. 65\u201386. Springer (2018)","DOI":"10.1007\/978-3-319-99241-9_3"},{"key":"19_CR36","doi-asserted-by":"crossref","unstructured":"Martinez, M., Weimer, W., Monperrus, M.: Do the fix ingredients already exist? an empirical inquiry into the redundancy assumptions of program repair approaches. In: Companion Proceedings of the 36th International Conference on Software Engineering, pp. 492\u2013495. ACM (2014)","DOI":"10.1145\/2591062.2591114"},{"key":"19_CR37","doi-asserted-by":"crossref","unstructured":"Mechtaev, S., Yi, J., Roychoudhury, A.: Directfix: Looking for simple program repairs. In: Proceedings of the 37th International Conference on Software Engineering, pp. 448\u2013458. IEEE Press (2015)","DOI":"10.1109\/ICSE.2015.63"},{"key":"19_CR38","doi-asserted-by":"crossref","unstructured":"Mechtaev, S., Yi, J., Roychoudhury, A.: Angelix: Scalable multiline program patch synthesis via symbolic analysis. In: Proceedings of the 38th International Conference on Software Engineering, pp. 691\u2013701. ACM (2016)","DOI":"10.1145\/2884781.2884807"},{"issue":"1","key":"19_CR39","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1145\/3105906","volume":"51","author":"M Monperrus","year":"2018","unstructured":"Monperrus, M.: Automatic software repair: A bibliography. ACM Computing Surveys 51(1), 17 (2018)","journal-title":"ACM Computing Surveys"},{"key":"19_CR40","unstructured":"Mouret, J.B., Clune, J.: Illuminating search spaces by mapping elites. arXiv preprint arXiv:1504.04909 (2015)"},{"key":"19_CR41","doi-asserted-by":"crossref","unstructured":"Nguyen, H.D.T., Qi, D., Roychoudhury, A., Chandra, S.: Semfix: Program repair via semantic analysis. In: Proceedings of the 35th International Conference on Software Engineering, pp. 772\u2013781. IEEE (2013)","DOI":"10.1109\/ICSE.2013.6606623"},{"issue":"5","key":"19_CR42","doi-asserted-by":"publisher","first-page":"2980","DOI":"10.1007\/s10664-017-9562-9","volume":"23","author":"VPL Oliveira","year":"2018","unstructured":"Oliveira, V.P.L., de Souza, E.F., Le Goues, C., Camilo-Junior, C.G.: Improved representation and genetic operators for linear genetic programming for automated program repair. Empirical Software Engineering 23(5), 2980\u20133006 (2018)","journal-title":"Empirical Software Engineering"},{"key":"19_CR43","doi-asserted-by":"crossref","unstructured":"Qi, Y., Mao, X., Lei, Y., Dai, Z., Wang, C.: The strength of random search on automated program repair. In: Proceedings of the 36th International Conference on Software Engineering, pp. 254\u2013265. ACM (2014)","DOI":"10.1145\/2568225.2568254"},{"key":"19_CR44","doi-asserted-by":"crossref","unstructured":"Qi, Z., Long, F., Achour, S., Rinard, M.: An analysis of patch plausibility and correctness for generate-and-validate patch generation systems. In: Proceedings of the 2015 International Symposium on Software Testing and Analysis, pp. 24\u201336. ACM (2015)","DOI":"10.1145\/2771783.2771791"},{"key":"19_CR45","doi-asserted-by":"crossref","unstructured":"Rolim, R., Soares, G., D\u2019Antoni, L., Polozov, O., Gulwani, S., Gheyi, R., Suzuki, R., Hartmann, B.: Learning syntactic program transformations from examples. In: Proceedings of the 39th International Conference on Software Engineering, pp. 404\u2013415. IEEE Press (2017)","DOI":"10.1109\/ICSE.2017.44"},{"key":"19_CR46","doi-asserted-by":"crossref","unstructured":"Saha, R.K., Lyu, Y., Yoshida, H., Prasad, M.R.: Elixir: Effective object-oriented program repair. In: Proceedings of the 32nd IEEE\/ACM International Conference on Automated Software Engineering, pp. 648\u2013659. IEEE (2017)","DOI":"10.1109\/ASE.2017.8115675"},{"key":"19_CR47","doi-asserted-by":"crossref","unstructured":"Smith, E.K., Barr, E.T., Le Goues, C., Brun, Y.: Is the cure worse than the disease? overfitting in automated program repair. In: Proceedings of the 10th Joint Meeting on Foundations of Software Engineering, pp. 532\u2013543. ACM (2015)","DOI":"10.1145\/2786805.2786825"},{"key":"19_CR48","doi-asserted-by":"crossref","unstructured":"Tan, S.H., Yoshida, H., Prasad, M.R., Roychoudhury, A.: Anti-patterns in search-based program repair. In: Proceedings of the 24th International Symposium on Foundations of Software Engineering, pp. 727\u2013738. ACM (2016)","DOI":"10.1145\/2950290.2950295"},{"issue":"5","key":"19_CR49","doi-asserted-by":"publisher","first-page":"109","DOI":"10.1145\/1735223.1735249","volume":"53","author":"W Weimer","year":"2010","unstructured":"Weimer, W., Forrest, S., Le Goues, C., Nguyen, T.: Automatic program repair with evolutionary computation. Communications of the ACM 53(5), 109\u2013116 (2010)","journal-title":"Communications of the ACM"},{"key":"19_CR50","doi-asserted-by":"crossref","unstructured":"Weimer, W., Fry, Z.P., Forrest, S.: Leveraging program equivalence for adaptive program repair: Models and first results. In: Proceedings of the 28th International Conference on Automated Software Engineering, pp. 356\u2013366. IEEE (2013)","DOI":"10.1109\/ASE.2013.6693094"},{"key":"19_CR51","doi-asserted-by":"crossref","unstructured":"Weimer, W., Nguyen, T., Le Goues, C., Forrest, S.: Automatically finding patches using genetic programming. In: Proceedings of the 31st International Conference on Software Engineering, pp. 364\u2013374. IEEE (2009)","DOI":"10.1109\/ICSE.2009.5070536"},{"key":"19_CR52","doi-asserted-by":"crossref","unstructured":"Wen, M., Chen, J., Wu, R., Hao, D., Cheung, S.C.: Context-aware patch generation for better automated program repair. In: Proceedings of the 40th International Conference on Software Engineering, pp. 1\u201311. ACM (2018)","DOI":"10.1145\/3180155.3180233"},{"key":"19_CR53","doi-asserted-by":"crossref","unstructured":"Xin, Q., Reiss, S.P.: Leveraging syntax-related code for automated program repair. In: Proceedings of the 32nd IEEE\/ACM International Conference on Automated Software Engineering, pp. 660\u2013670. IEEE Press (2017)","DOI":"10.1109\/ASE.2017.8115676"},{"key":"19_CR54","doi-asserted-by":"crossref","unstructured":"Xiong, Y., Liu, X., Zeng, M., Zhang, L., Huang, G.: Identifying patch correctness in test-based program repair. In: Proceedings of the 40th International Conference on Software Engineering, pp. 789\u2013799. ACM (2018)","DOI":"10.1145\/3180155.3180182"},{"key":"19_CR55","doi-asserted-by":"crossref","unstructured":"Xiong, Y., Wang, J., Yan, R., Zhang, J., Han, S., Huang, G., Zhang, L.: Precise condition synthesis for program repair. In: Proceedings of the 39th International Conference on Software Engineering, pp. 416\u2013426. IEEE Press (2017)","DOI":"10.1109\/ICSE.2017.45"},{"issue":"1","key":"19_CR56","doi-asserted-by":"publisher","first-page":"34","DOI":"10.1109\/TSE.2016.2560811","volume":"43","author":"J Xuan","year":"2017","unstructured":"Xuan, J., Martinez, M., Demarco, F., Clement, M., Marcote, S.L., Durieux, T., Le Berre, D., Monperrus, M.: Nopol: Automatic repair of conditional statement bugs in java programs. IEEE Transactions on Software Engineering 43(1), 34\u201355 (2017)","journal-title":"IEEE Transactions on Software Engineering"},{"key":"19_CR57","doi-asserted-by":"publisher","unstructured":"Yuan, Y., Banzhaf, W.: ARJA: Automated repair of java programs via multi-objective genetic programming. IEEE Transactions on Software Engineering (2018). https:\/\/doi.org\/10.1109\/TSE.2018.2874648","DOI":"10.1109\/TSE.2018.2874648"},{"issue":"1","key":"19_CR58","doi-asserted-by":"publisher","first-page":"16","DOI":"10.1109\/TEVC.2015.2420112","volume":"20","author":"Y Yuan","year":"2016","unstructured":"Yuan, Y., Xu, H., Wang, B., Yao, X.: A new dominance relation-based evolutionary algorithm for many-objective optimization. IEEE Transactions on Evolutionary Computation 20(1), 16\u201337 (2016)","journal-title":"IEEE Transactions on Evolutionary Computation"}],"container-title":["Genetic and Evolutionary Computation","Genetic Programming Theory and Practice XVII"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-39958-0_19","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,10,23]],"date-time":"2022-10-23T07:20:55Z","timestamp":1666509655000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-39958-0_19"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030399573","9783030399580"],"references-count":58,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-39958-0_19","relation":{},"ISSN":["1932-0167","1932-0175"],"issn-type":[{"type":"print","value":"1932-0167"},{"type":"electronic","value":"1932-0175"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"8 May 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}}]}}