## 7 Conclusions and Future Work  
In this paper, we present the Modification Point Aware Test Prioritization and Sampling technique to reduce the time consumed by the patch validation of APR. MPTPS helps in detecting the invalid patches early in the validation process while reducing the size of test case execution. Meanwhile, in the remaining time, it validates more program variants that helps in enhancing repair effectiveness by finding more patches. Also, we introduced a new fitness function that improves repair efficiency. We built MPPEnigne, including MPTPS and fitness function, by extending jGenProg in the Astor workspace.  
We evaluated our approach MPPEnigne on the Defects4j benchmark and compared our results against jGenProg, a state of the art tool for automated java programs. The repeated experiments on 48 Defects4j bugs from four different subjects on MPPEnigne proved to reduce the average validation time for one program variant to 33.70 s, which is a 57.50% reduction compared to jGenProg, which takes 79.27 s. As for repair effectiveness, our MPPEnigne generates patches in most cases (26/27) and outperforms jGenProg (21/27). The experimental results clearly depict that MPPEnigne performed better in terms of repair efficiency as it uses a comparatively smaller number of test cases to validate the patches (and finds the invalid patches earlier), yet it provides better results.  
Even though our proposed approach generates equal or more test adequate patches by eliminating invalid patches, there can still be some overfitting patches. Therefore, in the future, we plan to provide more test coverage by generating additional test cases using the Dynamic Symbolic Execution tool  
Figure 3: Number of patches generated per bug—jGenProg, MPPEnigne.  
to filter more incorrect patches. Although our proposed fitness function works fine, if we include additional test cases, it might need some refinement. So we need to analyze it thoroughly and improve it to provide more optimal results.  
The implementation and experiment results are available online at [[https://github.com/yazhiniv/astor/tree/MPEngine](https://github.com/yazhiniv/astor/tree/MPEngine)]([https://github.com/yazhiniv/astor/tree/MPEngine](https://github.com/yazhiniv/astor/tree/MPEngine)).  
Conceptualization, Y.V.; methodology, Y.V.; validation, Y.V., P.Q.-N. and L.E.; formal analysis, Y.V., P.Q.-N; investigation, Y.V., P.Q.-N. and L.E.; writing--original draft preparation, Y.V.; writing--review and editing.Y.V., L.E.; supervision, L.E.; project administration, L.E.; funding acquisition, L.E. All authors have read and agreed to the published version of the manuscript.  
This research was supported in part by the Next-Generation Information Computing Development Program (2017M3C4A7068179), and the Basic Science Research Program (2019R1A2C2006411) through the National Research Foundation of Korea (NRF) grant funded by the Korean Government (MSIT).  
I thank [PERSON], [PERSON] et al. for their implementation of jGenprog in Astor. I also extend my thanks to my co-author [PERSON] and [PERSON] for their guidance throughout the implementation.  
The authors declare no conflict of interest.  
The following abbreviations are used in this manuscript:  
\begin{tabular}{l l} APR & Automatic(ed) Program Repair \\ MPTPS & Modification Point aware Test Prioritization and Sampling \\ MPTTable & Modification Point aware Prioritized Table \\ MPTEngine & Modification Point aware Prioritized and sampled Engine \\ \end{tabular}