%1 @article{Hailpern2004, author = "B. Hailpern and P. Santhanam", title = "Software debugging, testing, and verification", journal = "IBM Systems Journal", volume = "41", number = "1", year = "2004", pages = "4-12" } %2 @inproceedings{Debroy2010, author = "V. Debroy and W. E. Wong", title = "Using mutation to automatically suggest fixes for faulty programs", booktitle = "3rd IEEE International Conference on Software Testing, Verification and Validation (ICST 2010)", month = "April", year = "2010", address = "Paris, France", pages = "65-74", } %3 @inproceedings{Wei2010, author = "Y. Wei and Y. Pei and C. A. Furia and L. S. Silva and S. Buchholz and B. Meyer and A. Zeller", title = "Automated fixing of programs with contracts", booktitle = "Proceedings of the 19th International Symposium on Software Testing and Analysis (ISSTA '10)", year = "2010", address = "Trento, Italy", pages = "61-72", publisher = "ACM", } %4 @inproceedings{Perkins2009, author = "J. H. Perkins and S. Kim and S. Larsen and S. Amarasinghe and J. Bachrach, M. Carbin and C. Pacheco and F. Sherwood and S. Sidiroglou and G. Sullivan and W.-F. Wong and Y. Zibin and M. D. Ernst and M. Rinard", title = "Automatically patching errors in deployed software", booktitle = "ACM SIGOPS 22nd Symposium on Operating Systems Principles (SOSP ’09)", year = "2009", pages = "87-102", } %5 @inproceedings{kim2013, author = "D. Kim and J. Nam, J. Song and S. Kim", title = "Automatic patch generation learned from human-written patches", booktitle = "Proceedings of the 35th International Conference on Software Engineering (ICSE 2013)", organization = "IEEE Computer Society Press", month = "May", year = "2013", address = "San Francisco, CA", } %6 @inproceedings{Forrest2009, author = "S. Forrest and T. Nguyen and W. Weimer and C. Le Goues", title = "A genetic programming approach to automated software repair", booktitle = "11th Annual conference on Genetic and Evolutionary Computation (GECCO 2009)", year = "2009", pages = "947-954", } %7 @inproceedings{Weimer2009, author = "W. Weimer and T. Nguyen and C. Le Goues and S. Forrest", title = "Automatically finding patches using genetic programming", booktitle = "Proceedings of the 31st International Conference on Software Engineering (ICSE 2009)", year = "2009", pages = "364-374", address = "Vancouver Canada", } %8 @article{Weimer2010, author = "W. Weimer and S. Forrest and C. Le Goues and T. Nguyen", title = "Automatic program repair with evolutionary computation", journal = "Communications of the ACM", volume = "53", number = "5", month = "May", year = "2010", pages = "109-116", } %9 @article{LeGoues2012, author = "C. Le Goues and T. Nguyen and S. Forrest and W. Weimer", title = "Genprog: {A} generic method for automatic software repair", journal = "IEEE Transactions on Software Engineering", volume = "38", number = "1", month = "Jan-Feb", year = "2012", pages = "54-72", } %10 @inproceedings{Arcuri2008A, author = "A. Arcuri", title = "On the automation of fixing software bugs", booktitle = "Proceedings of the 30th International Conference on Software Engineering, Doctoral Symposium", year = "2008", month = "May", pages = "1003-1006", address = "Leipzig Germany", } %11 @inproceedings{Kern2010, author = "C. Kern and J. Esparza", title = "Automatic error correction of {J}ava programs", booktitle = "Proceedings of the 15th International Conference on Formal Methods for Industrial Critical Systems (FMICS 2010)", year = "2010", pages = "67-81", address = "Antwerp, Belgium", } %12 @inproceedings{Ackling2013, author = "T. Ackling and B. Alexander and I. Grunert", title = "Evolving patches for software repair", booktitle = "13th Annual conference on Genetic and Evolutionary Computation (GECCO 2011)", year = "2013", pages = "1427-1434", } %13 @inproceedings{Arcuri2008B, author = "A. Arcuri and X. Yao", title = "A novel co-evolutionary approach to automatic software bug fixing", booktitle = "Evolutionary Computation (IEEE World Congress on Computational Intelligence)", year = "2008", month = "June", pages = "162-168", } %14 @article{White2011, author = "D. White and A. Arcuri and J. A. Clark", title = "Evolutionary improvement of programs", journal = "IEEE Transactions on Evolutionary Computation", volume = "15", number = "4", year = "2011", pages = "515-538", } %16 @inproceedings{Jin2011, author = "G. Jin and L. Song and W. Zhang and S. Lu and B. Liblit", title = "Automated atomicity-violation fixing", booktitle = "Proceedings of the 32nd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 2011)", year = "2011", pages = "389-400", } %17 @inproceedings{Liu2012, author = "P. Liu and C. Zhang", title = "Axis: {A}utomatically fixing atomicity violations through solving control constraints", booktitle = "Proceedings of the 34th International Conference on Software Engineering (ICSE 2012)", address = "Zurich, Switzerland", year = "2012", pages = "299-309", } %18 @inproceedings{Nguyen2013, author = "H. D. Nguyen and D. Qi and A. Roychoudhury and S. Chandra", title = "Semfix: {P}rogram repair via semantic analysis", booktitle = "Proceedings of the 35th International Conference on Software Engineering (ICSE 2013)", organization = "IEEE Computer Society Press", month = "May", year = "2013", address = "San Francisco, CA", } %19 @inproceedings{Fast2010, author = "E. Fast and C. Le Goues and S. Forrest and W. Weimer", title = "Designing better fitness functions for automated program repair", booktitle = "12th Annual conference on Genetic and Evolutionary Computation (GECCO 2010)", year = "2010", pages = "965-972", address = "Portland, Oregon", } %20 @article{LeGoues2013, author = "C. Le Goues and S. Forrest and W. Weimer", title = "Current challenges in automatic software repair", journal = "Software Quality Journal", volume = "21", year = "2013", pages = "421-443", abstract = " The abundance of defects in existing software systems is unsustainable. Addressing them is a dominant cost of software maintenance, which in turn dominates the life cycle cost of a system. Recent research has made significant progress on the problem of automatic program repair, using techniques such as evolutionary computation, instrumentation and run-time monitoring, and sound synthesis with respect to a specification. This article serves three purposes. First, we review current work on evolutionary computation approaches, focusing on GenProg, which uses genetic programming to evolve a patch to a particular bug. We summarize algorithmic improvements and recent experimental results. Second, we review related work in the rapidly growing subfield of automatic program repair. Finally, we outline important open research challenges that we believe should guide future research in the area.", } %25 @inproceedings{LeGoues2012A, author = "C. Le Goues and M. Dewey-Vogt and S. Forrest and W. Weimer", title = "A systematic study of automated program repair: fixing 55 out of 105 bugs for \$8 each", booktitle = "Proceedings of the 34th International Conference on Software Engineering (ICSE 2012)", address = "Zurich, Switzerland", year = "2012", pages = "3-13", } %26 @inproceedings{LeGoues2012B, author = "C. Le Goues and W. Weimer and S. Forrest", title = "Representations and operators for improving evolutionary software repair", booktitle = "14th Annual conference on Genetic and Evolutionary Computation (GECCO 2012)", year = "2012", pages = "959-966", address = "Philadelphia PA, USA", } %29 @inproceedings{Fry2012, author = "Z. P. Fry and B. Landau and W. Weimer", title = "A human study of patch maintainability", booktitle = "Proceedings of the 21st International Symposium on Software Testing and Analysis (ISSTA 2012)", year = "2012", pages = "177-187", } %30 @inproceedings{Aggarwal2002, author = "K. Aggarwal and Y. Singh and J. Chhabra", title = "An integrated measure of software maintainability", booktitle = "Proceedings of the Reliability and Maintainability Symposium", year = "2002", pages = "235-241", } %31 @inproceedings{Buse2008, author = "R. P. Buse and W. R. Weimer", title = "A metric for software readability", booktitle = "Proceedings of the 17th International Symposium on Software Testing and Analysis (ISSTA 2008)", year = "2008", pages = "121-130", address = "Seattle WA, USA", } %34 @inproceedings{Dallmeier2009, author = "V. Dallmeier and A. Zeller and B. Meyer", title = "Generating fixes from object behavior anomalies", booktitle = "Proceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering (ASE 2009)", year = "2009", pages = "550-554", address = "Auckland, New Zealand", } %35 @inproceedings{Wilkerson2010, author = "J. L. Wilkerson and D. Tauritz", title = "Coevolutionary automated software correction", booktitle = "12th Annual conference on Genetic and Evolutionary Computation (GECCO 2010)", year = "2010", pages = "1391-1392", address = "Portland, Oregon USA", } %36 @inproceedings{Konighofer2011, author = "R. Konighofer and R. Bloem", title = "Automated error localization and correction for imperative programs", booktitle = "Formal Methods in Computer-Aided Design (FMCAD)", year = "2011", month = "November", pages = "91-100", } %37 @inproceedings{Jones2005, author = "J. A. Jones and M. J. Harrold", title = "Empirical evaluation of the {T}arantula automatic fault-localization technique", booktitle = "Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering (ASE 2005)", year = "2005", pages = "273-282", }