A Software-Repair Robot Based on Continual Learning

Software bugs are common, and correcting them accounts for a significant portion of the costs in the software development and maintenance process. In this article, we discuss R-Hero, our novel system for learning how to fix bugs based on continual training.

[1]  RoychoudhuryAbhik,et al.  Automated program repair , 2019 .

[2]  Claire Le Goues,et al.  GenProg: A Generic Method for Automatic Software Repair , 2012, IEEE Transactions on Software Engineering.

[3]  Matias Martinez,et al.  Repairnator patches programs automatically , 2019, Ubiquity.

[4]  Denys Poshyvanyk,et al.  SequenceR: Sequence-to-Sequence Learning for End-to-End Program Repair , 2018, IEEE Transactions on Software Engineering.

[5]  Rui Abreu,et al.  Interviewing the Most Successful Bot on GitHub: Dr Travis CI on 35+ Million of its Jobs , 2019, ArXiv.

[6]  Rahul Gupta,et al.  DeepFix: Fixing Common C Language Errors by Deep Learning , 2017, AAAI.

[7]  Fan Long,et al.  An analysis of patch plausibility and correctness for generate-and-validate patch generation systems , 2015, ISSTA.

[8]  Gabriele Bavota,et al.  On Learning Meaningful Code Changes Via Neural Machine Translation , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE).

[9]  Johannes Bader,et al.  Getafix: learning to fix bugs automatically , 2019, Proc. ACM Program. Lang..

[10]  Stefan Wermter,et al.  Continual Lifelong Learning with Neural Networks: A Review , 2019, Neural Networks.

[11]  Dawei Qi,et al.  SemFix: Program repair via semantic analysis , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[12]  Matias Martinez,et al.  Automated patch assessment for program repair at scale , 2019, Empirical Software Engineering.

[14]  Dirk Riehle,et al.  The Commit Size Distribution of Open Source Software , 2009, 2009 42nd Hawaii International Conference on System Sciences.

[15]  Claire Le Goues,et al.  Automated program repair , 2019, Commun. ACM.

[16]  Zhendong Su,et al.  An Empirical Study on Real Bug Fixes , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[17]  Simon Urli,et al.  How to Design a Program Repair Bot? Insights from the Repairnator Project , 2017, 2018 IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP).

[18]  W. Hager,et al.  and s , 2019, Shallow Water Hydraulics.

[19]  Mark Harman,et al.  SapFix: Automated End-to-End Repair at Scale , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP).

[20]  Fan Long,et al.  Automatic patch generation by learning correct code , 2016, POPL.

[21]  Bing Liu,et al.  Lifelong machine learning: a paradigm for continuous learning , 2017, Frontiers of Computer Science.