Browse > Article
http://dx.doi.org/10.22937/IJCSNS.2022.22.4.33

OAPR-HOML'1: Optimal automated program repair approach based on hybrid improved grasshopper optimization and opposition learning based artificial neural network  

MAMATHA, T. (Dept. of CSE, JNTUA University)
RAMA SUBBA REDDY, B. (Dept. of CSE, SV College of Engineering)
BINDU, C SHOBA (Dept. of CSE, JNTUA University)
Publication Information
International Journal of Computer Science & Network Security / v.22, no.4, 2022 , pp. 261-273 More about this Journal
Abstract
Over the last decade, the scientific community has been actively developing technologies for automated software bug fixes called Automated Program Repair (APR). Several APR techniques have recently been proposed to effectively address multiple classroom programming errors. However, little attention has been paid to the advances in effective APR techniques for software bugs that are widely occurring during the software life cycle maintenance phase. To further enhance the concept of software testing and debugging, we recommend an optimized automated software repair approach based on hybrid technology (OAPR-HOML'1). The first contribution of the proposed OAPR-HOML'1 technique is to introduce an improved grasshopper optimization (IGO) algorithm for fault location identification in the given test projects. Then, we illustrate an opposition learning based artificial neural network (OL-ANN) technique to select AST node-level transformation schemas to create the sketches which provide automated program repair for those faulty projects. Finally, the OAPR-HOML'1 is evaluated using Defects4J benchmark and the performance is compared with the modern technologies number of bugs fixed, accuracy, precession, recall and F-measure.
Keywords
Fault location identification; AST node-level transforms; software testing; automatic program repair; grasshopper optimization;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Liu, K., Li, L., Koyuncu, A., Kim, D., Liu, Z., Klein, J. and Bissyande, T.F., 2021. A critical review on the evaluation of automated program repair systems. Journal of Systems and Software, 171, p.110817.   DOI
2 Huang, C.Y. and Lin, C.T., 2006. Software reliability analysis by considering fault dependency reliability, 55(3), pp.436-450.   DOI
3 Peng, R., Li, Y.F., Zhang, W.J. and Hu, Q.P., 2014. Testing effort dependent software reliability model for imperfect debugging process considering both detection and correction. Reliability Engineering & System Safety, 126, pp.37-43.   DOI
4 Chen, T.Y., Tse, T.H. and Zhou, Z.Q., 2010. Semi-proving: An integrated method for program proving, testing, and debugging. IEEE Transactions on Software Engineering, 37(1), pp.109-125.   DOI
5 Gokhale, S.S., Lyu, M.R. and Trivedi, K.S., 2006. Incorporating fault debugging activities into software reliability models: A simulation approach. IEEE Transactions on reliability, 55(2), pp.281-292.   DOI
6 Cao, P., Dong, Z., Liu, K. and Cai, K.Y., 2013. Quantitative effects of software testing on reliability improvement in the presence of imperfect debugging. Information Sciences, 218, pp.119-132.   DOI
7 Hierons, R.M., 2014. Generating complete controllable test suites for distributed testing. IEEE transactions on software engineering, 41(3), pp.279-293.   DOI
8 Lin, C.T. and Li, Y.F., 2014. Rate-based queueing simulation model of open source software debugging activities. IEEE Transactions on Software Engineering, 40(11), pp.1075-1099.   DOI
9 Cotroneo, D., Pietrantuono, R. and Russo, S., 2013. Combining operational and debug testing for improving reliability. IEEE Transactions on Reliability, 62(2), pp.408-423.   DOI
10 Huang, C.Y., Kuo, S.Y. and Lyu, M.R., 2007. An assessment of testing-effort dependent software reliability growth models. IEEE transactions on Reliability, 56(2), pp.198-211.   DOI
11 Kapur, P.K., Pham, H., Anand, S. and Yadav, K., 2011. A unified approach for developing software reliability growth models in the presence of imperfect debugging and error generation. IEEE Transactions on Reliability, 60(1), pp.331-340.   DOI
12 Minnerup, P., Lenz, D., Kessler, T. and Knoll, A., 2016. Debugging Autonomous Driving Systems Using Serialized Software Components. IFAC- PapersOnLine, 49(15), pp.44-49.   DOI
13 Cai, K.Y., Cao, P., Dong, Z. and Liu, K., 2010. Mathematical modeling of software reliability testing with imperfect debugging. Computers & Mathematics with Applications, 59(10), pp.3245- 3285.   DOI
14 Gupta, N., Sharma, A. and Pachariya, M.K., 2020. Testing and debugging: an empirical evaluation of integrated approaches. Sadhana, 45, pp.1-15.   DOI
15 Kim, J., Kim, J., Lee, E. and Kim, S., 2020. The effectiveness of context-based change application on automatic program repair. Empirical Software Engineering, 25(1), pp.719-754.   DOI
16 Wong, W.E., Sugeta, T., Qi, Y. and Maldonado, J.C., 2005. Smart debugging software architectural design in SDL. Journal of Systems and Software, 76(1), pp.15-28.   DOI
17 Wang, J., Wu, Z., Shu, Y. and Zhang, Z., 2015. An I mperfect software debugging model considering loglogistic distribution fault content function. Journal of Systems and Software, 100, pp.167-181   DOI
18 Li, Q. and Pham, H., 2017. NHPP software reliability model considering the uncertainty of operating environments with imperfect debugging and testing coverage. Applied Mathematical Modelling, 51, pp.68-85.   DOI
19 Li, F., Li, Z., Huo, W. and Feng, X., 2016. Locating software faults based on minimum debugging frontier set. IEEE Transactions on Software Engineering, 43(8), pp.760-776.   DOI
20 Zhang, Y., Zhu, B., Fang, Y., Guo, S., Zhang, A. and Zhong, S., 2017. Secure inter-domain forwarding loop test in software defined networks. IEEE Transactions on Dependable and Secure Computing, 17(1), pp.162-178.   DOI
21 Serrano, E., Quirin, A., Botia, J. and Cordon, O., 2010. Debugging complex software systems by means of pathfinder networks. Information Sciences, 180(5), pp.561-583.   DOI
22 Gazzola, L., Micucci, D. and Mariani, L., 2017. Automatic software repair: A survey. IEEE Transactions on Software Engineering, 45(1), pp.34-67.   DOI
23 Popentiu-Vladicescu, F. and Albeanu, G., 2016. Nature-inspired approaches in software faults identification and debugging. Procedia Computer Science, 92, pp.6-12.   DOI
24 Tokuno, K. and Yamada, S., 2003. Markovian software reliability measurement with a geometrically decreasing perfect debugging rate. Mathematical and computer modelling, 38(11-13), pp.1443-1451.   DOI
25 Abreu, R., Zoeteweij, P. and Van Gemund, A.J., 2011. Simultaneous debugging of software faults. Journal of Systems and Software, 84(4), pp.573-586.   DOI
26 Qiu, K., Zheng, Z., Trivedi, K.S. and Yin, B., 2019. Stress testing with influencing factors to accelerate data race software failures. IEEE Transactions on Reliability, 69(1), pp.3-21.   DOI
27 Jiang, J., Xiong, Y. and Xia, X., 2019. A manual inspection of Defects4J bugs and its implications for automatic program repair. Science China Information Sciences, 62(10), pp.1-16.
28 Caballero, R., Martin-Martin, E., Riesco, A. and Tamarit, S., 2021. A unified framework for declarative debugging and testing. Information and Software Technology, 129, p.106427.   DOI
29 Ye, H., Martinez, M., Durieux, T. and Monperrus, M., 2021. A comprehensive study of automatic program repair on the QuixBugs benchmark. Journal of Systems and Software, 171, p.110825.   DOI
30 Hua, J., Zhang, M., Wang, K. and Khurshid, S., 2018, October. Sketchfix: A tool for automated program repair approach using lazy candidate generation. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (pp. 888-891).
31 Chen, J. and Venkataramani, G., 2016. enDebug: A hardware-software framework for automated energy debugging. Journal of Parallel and Distributed Computing, 96, pp.121-133.   DOI
32 Kondo, K. and Yoshida, M., 2005. Use of hybrid models for testing and debugging control software for electromechanical systems. IEEE/ASME Transactions on Mechatronics, 10(3), pp.275-284.   DOI
33 Kong, X., Zhang, L., Wong, W.E. and Li, B., 2018. The impacts of techniques, programs and tests on automated program repair: An empirical study. Journal of Systems and Software, 137, pp.480-496.   DOI