{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,6]],"date-time":"2026-04-06T13:41:10Z","timestamp":1775482870459,"version":"3.50.1"},"reference-count":24,"publisher":"MDPI AG","issue":"4","license":[{"start":{"date-parts":[[2018,4,2]],"date-time":"2018-04-02T00:00:00Z","timestamp":1522627200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Symmetry"],"abstract":"<jats:p>Owing to the high complexity of recent software products, developers cannot avoid major\/minor mistakes, and software bugs are generated during the software development process. When developers manually modify a program source code using bug descriptions to fix bugs, their daily workloads and costs increase. Therefore, we need a way to reduce their workloads and costs. In this paper, we propose a novel automatic fault repair method by using similar bug fix information based on genetic programming (GP). First, we searched for similar buggy source codes related to the new given buggy code, and then we searched for a fixed the buggy code related to the most similar source code. Next, we transformed the fixed code into abstract syntax trees for applying GP and generated the candidate program patches. In this step, we verified the candidate patches by using a fitness function based on given test cases to determine whether the patch was valid or not. Finally, we produced program patches to fix the new given buggy code.<\/jats:p>","DOI":"10.3390\/sym10040092","type":"journal-article","created":{"date-parts":[[2018,4,2]],"date-time":"2018-04-02T12:32:20Z","timestamp":1522672340000},"page":"92","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Applying Genetic Programming with Similar Bug Fix Information to Automatic Fault Repair"],"prefix":"10.3390","volume":"10","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6273-7177","authenticated-orcid":false,"given":"Geunseok","family":"Yang","sequence":"first","affiliation":[{"name":"Department of Computer Science, University of Seoul, Seoul 02504, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Youngjun","family":"Jeong","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University of Seoul, Seoul 02504, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Kyeongsic","family":"Min","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University of Seoul, Seoul 02504, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8922-063X","authenticated-orcid":false,"given":"Jung-won","family":"Lee","sequence":"additional","affiliation":[{"name":"Department of Electrical and Computer Engineering, Ajou University, Suwon 16499, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2750-7608","authenticated-orcid":false,"given":"Byungjeong","family":"Lee","sequence":"additional","affiliation":[{"name":"Department of Computer Science, University of Seoul, Seoul 02504, Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2018,4,2]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","unstructured":"Yang, G., Baek, S., Lee, J.W., and Lee, B. (2017, January 3\u20137). Analyzing Emotion Words to Predict Severity of Software Bugs: A Case Study of Open Source Projects. Proceedings of the Symposium on Applied Computing (SAC 2017), Marrakech, Morocco.","DOI":"10.1145\/3019612.3019788"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"618","DOI":"10.1109\/TSE.2010.63","article-title":"What Makes A Good Bug Report?","volume":"36","author":"Zimmermann","year":"2010","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_3","doi-asserted-by":"crossref","first-page":"54","DOI":"10.1109\/TSE.2011.104","article-title":"Genprog: A Generic Method for Automatic Software Repair","volume":"38","author":"Nguyen","year":"2012","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Kim, D., Nam, J., Song, J., and Kim, S. (2013, January 18\u201326). Automatic Patch Generation Learned from Human-written Patches. Proceedings of the International Conference on Software Engineering (ICSE 2013), San Francisco, CA, USA.","DOI":"10.1109\/ICSE.2013.6606626"},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Qi, Y., Mao, X., Lei, Y., Dai, Z., and Wang, C. (June, January 31). The Strength of Random Search on Automated Program Repair. Proceedings of the International Conference on Software Engineering (ICSE 2014), Hyderabad, India.","DOI":"10.1145\/2568225.2568254"},{"key":"ref_6","doi-asserted-by":"crossref","unstructured":"Weimer, W., Fry, Z.P., and Forrest, S. (2013, January 11\u201315). Leveraging Program Equivalence for Adaptive Program Repair: Models and First Results. Proceedings of the IEEE\/ACM International Conference on Automated Software Engineering (ASE 2013), Silicon Valley, CA, USA.","DOI":"10.1109\/ASE.2013.6693094"},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Samimi, H., Schafer, M., Artzi, S., Millstein, T., Tip, F., and Hendren, L. (2012, January 2\u20139). Automated Repair of HTML Generation Errors in PHP Applications using String Constraint Solving. Proceedings of the International Conference on Software Engineering (ICSE 2012), Zurich, Switzerland.","DOI":"10.1109\/ICSE.2012.6227186"},{"key":"ref_8","unstructured":"Son, S., McKinley, K.S., and Shmatikov, V. (2018, February 18). Fix Me Up: Repairing Access-Control Bugs in Web Applications. Available online: http:\/\/citeseerx.ist.psu.edu\/viewdoc\/summary?doi=10.1.1.307.1928."},{"key":"ref_9","doi-asserted-by":"crossref","first-page":"298","DOI":"10.1145\/2914770.2837617","article-title":"Automatic Patch Generation by Learning Correct Code","volume":"51","author":"Long","year":"2016","journal-title":"ACM SIGPLAN Not."},{"key":"ref_10","doi-asserted-by":"crossref","unstructured":"Long, F., and Rinard, M. (September, January 30). Staged Program Repair with Condition Synthesis. Proceedings of the Joint Meeting on Foundations of Software Engineering (FSE 2015), Bergamo, Italy.","DOI":"10.1145\/2786805.2786811"},{"key":"ref_11","doi-asserted-by":"crossref","first-page":"1236","DOI":"10.1109\/TSE.2015.2454513","article-title":"The ManyBugs and IntroClass Benchmarks for Automated Repair of C Programs","volume":"41","author":"Holtschulte","year":"2015","journal-title":"IEEE Trans. Softw. Eng."},{"key":"ref_12","doi-asserted-by":"crossref","first-page":"872","DOI":"10.1126\/science.8346439","article-title":"Genetic Algorithms: Principles of Natural Selection Applied to Computation","volume":"261","author":"Forrest","year":"1993","journal-title":"Science"},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Le Goues, C., Dewey-Vogt, M., Forrest, S., and Weimer, W. (2012, January 2\u20139). A Systematic Study of Automated Program Repair: Fixing 55 out of 105 Bugs for $8 each. Proceedings of the International Conference on Software Engineering (ICSE 2012), Zurich, Switzerland.","DOI":"10.1109\/ICSE.2012.6227211"},{"key":"ref_14","doi-asserted-by":"crossref","unstructured":"Nguyen, H.D.T., Qi, D., Roychoudhury, A., and Chandra, S. (2013, January 18\u201326). Semfix: Program Repair via Semantic Analysis. Proceedings of the International Conference on Software Engineering (ICSE 2013), San Francisco, CA, USA.","DOI":"10.1109\/ICSE.2013.6606623"},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Yokoyama, H., Higo, Y., Hotta, K., Ohta, T., Okano, K., and Kusumoto, S. (2016, January 4\u20138). Toward Improving Ability to Repair Bugs Automatically: A Patch Candidate Location Mechanism using Code Similarity. Proceedings of the ACM Symposium on Applied Computing (SAC 2016), Pisa, Italy.","DOI":"10.1145\/2851613.2851770"},{"key":"ref_16","doi-asserted-by":"crossref","unstructured":"Qi, Y., Mao, X., and Lei, Y. (2013, January 22\u201328). Efficient Automated Program Repair through Fault-recorded Testing Prioritization. Proceedings of the International Conference on Software Maintenance (ICSM 2013), Eindhoven, The Netherlands.","DOI":"10.1109\/ICSM.2013.29"},{"key":"ref_17","doi-asserted-by":"crossref","unstructured":"Guo, S., Chen, R., and Li, H. (2017). Using Knowledge Transfer and Rough Set to Predict the Severity of Android Test Reports via Text Mining. Symmetry, 9.","DOI":"10.3390\/sym9080161"},{"key":"ref_18","doi-asserted-by":"crossref","first-page":"32","DOI":"10.1186\/s13673-017-0116-3","article-title":"Optimization of Sentiment Analysis using Machine Learning Classifiers","volume":"7","author":"Singh","year":"2017","journal-title":"Human Centric Comp. Inf. Sci."},{"key":"ref_19","doi-asserted-by":"crossref","first-page":"3","DOI":"10.1186\/s13673-018-0125-x","article-title":"A State-of-the-art Survey of Malware Detection Approaches using Data Mining Techniques","volume":"8","author":"Souri","year":"2018","journal-title":"Human Centric Comp. Inf. Sci."},{"key":"ref_20","first-page":"1089","article-title":"Test Set Generation for Pairwise Testing using Genetic Algorithms","volume":"13","author":"Sabharwal","year":"2017","journal-title":"J. Inf. Proc. Syst."},{"key":"ref_21","doi-asserted-by":"crossref","first-page":"177","DOI":"10.1016\/j.infsof.2016.11.002","article-title":"Improved Bug Localization based on Code Change Histories and Bug Reports","volume":"82","author":"Youm","year":"2017","journal-title":"Inf. Softw. Technol."},{"key":"ref_22","doi-asserted-by":"crossref","first-page":"972","DOI":"10.1016\/j.infsof.2010.04.002","article-title":"Bug Localization using Latent Dirichlet Allocation","volume":"52","author":"Lukins","year":"2010","journal-title":"Inf. Softw. Technol."},{"key":"ref_23","doi-asserted-by":"crossref","first-page":"654","DOI":"10.1109\/TSE.2002.1019480","article-title":"CCFinder: A Multilinguistic Token-based Code Clone Detection System for Large Scale Source Code","volume":"28","author":"Kamiya","year":"2002","journal-title":"IEEE Trans. Soft. Eng."},{"key":"ref_24","doi-asserted-by":"crossref","first-page":"171","DOI":"10.1007\/BF00264437","article-title":"A Longest Common Subsequence Algorithm Suitable for Similar Text Strings","volume":"18","author":"Nakatsu","year":"1982","journal-title":"Acta Inf."}],"container-title":["Symmetry"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/2073-8994\/10\/4\/92\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T14:59:22Z","timestamp":1760194762000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/2073-8994\/10\/4\/92"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,4,2]]},"references-count":24,"journal-issue":{"issue":"4","published-online":{"date-parts":[[2018,4]]}},"alternative-id":["sym10040092"],"URL":"https:\/\/doi.org\/10.3390\/sym10040092","relation":{},"ISSN":["2073-8994"],"issn-type":[{"value":"2073-8994","type":"electronic"}],"subject":[],"published":{"date-parts":[[2018,4,2]]}}}