  Automated Program Repair (APR) aims to automatically fix bugs in the source
code. Recently, as advances in Deep Learning (DL) field, there is a rise of
Neural Program Repair (NPR) studies, which formulate APR as a translation task
from buggy code to correct code and adopt neural networks based on
encoder-decoder architecture. Compared with other APR techniques, NPR
approaches have a great advantage in applicability because they do not need any
specification (i.e., a test suite). Although NPR has been a hot research
direction, there isn't any overview on this field yet. In order to help
interested readers understand architectures, challenges and corresponding
solutions of existing NPR systems, we conduct a literature review on latest
studies in this paper. We begin with introducing the background knowledge on
this field. Next, to be understandable, we decompose the NPR procedure into a
series of modules and explicate various design choices on each module.
Furthermore, we identify several challenges and discuss the effect of existing
solutions. Finally, we conclude and provide some promising directions for
future research.
