Abstract
Regression testing is a mandatory activity of software development life cycle, which is performed to ensure that modifications have not caused any adverse effects on the system’s functionality. With every change in software in the maintenance phase, the size of regression test suite grows as new test cases are written to validate changes. The bigger size of regression test suite makes the testing expensive and time-consuming. Optimization of regression test suite is a possible solution to cope with this problem. Various techniques of optimization have been proposed; however, there is no perfect solution for the problem and therefore, requires better solutions to improve the optimization process. This paper presents a novel technique named as hybrid-adaptive neuro-fuzzy inference system tuned with genetic algorithm and particle swarm optimization algorithm that is used to optimize the regression test suites. Evaluation of the proposed approach is performed on benchmark test suites including “previous date problem” and “Siemens print token.” Experimental results are compared with existing state-of-the-art techniques, and results show that the proposed approach is more effective for the reduction in a regression test suites with higher requirement coverage. The size of regression test suites can be reduced up to 48% using the proposed approach without reducing the fault detection rate.








Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Abraham A (2001) Neuro fuzzy systems: state-of-the-art modeling techniques. In: Connectionist models of neurons, learning processes, and artificial intelligence, pp 269–276
Agrawal AP, Kaur A (2018) A comprehensive comparison of ant colony and hybrid particle swarm optimization algorithms through test case selection. Springer, Singapore, pp 397–405
Alakeel AM (2012) A fuzzy test cases prioritization technique for regression testing programs with assertions. In: The sixth international conference on advanced engineering computing and applications in sciences, pp 78–82
Ansari A, Khan A, Khan A, Mukadam K (2016) Optimized regression test using test case prioritization. Procedia Comput Sci 79:152–160
Anwar Z (2013) Neuro-fuzzy modeling based regression test suite optimization. MSc discreation, Center for Advanced Studies in Engineering, UET, Taxila
Anwar Z, Ahsan A (2014) Comparative analysis of MOGA, NSGA-II and MOPSO for regression test suite optimization. Int J Softw Eng 7(1):41–56
Anwar Z, Ahsan A (2014) Exploration and analysis of regression test suite optimization. SIGSOFT Softw Eng Notes 39(1):1–5
Anwar Z, Ahsan A, Catal C (2016) Neuro-fuzzy modeling for multi-objective test suite optimization. J Intell Syst 25(2):123–146
Ashraf E, Rauf A, Mahmood K (2012) Value based regression test case prioritization. In: Proceedings of the world congress on engineering and computer science
Azar AT (2010) Adaptive neuro-fuzzy systems. Fuzzy systems, vol 10. IN-TECH, Vienna, p 7220
Aggarwal KKYS (2011) A book on software engineering. New Age International (P) Ltd, New Delhi
Bai Q (2010) Analysis of particle swarm optimization algorithm. Comput Inf Sci 3(1):180
Bian Y, Li Z, Zhao R, Gong D (2017) Epistasis based aco for regression test case prioritization. IEEE Trans Emerg Top Comput Intell 1(3):213–223
Blue D, Segall I, Tzoref-Brill R, Zlotnick A (2013) Interaction-based test-suite minimization. In: 35th international conference on software engineering (ICSE). IEEE, pp 182–191
Do H, Elbaum S, Rothermel G (2005) Supporting controlled experimentation with testing techniques: an infrastructure and its potential impact. Empir Softw Eng 10(4):405–435
de Souza LS, de Miranda PBC, Prudencio RBC, de Almeida Barros F (2011) A multi-objective particle swarm optimization for test case selection based on functional requirements coverage and execution effort. In: 23rd IEEE international conference on tools with artificial intelligence (ICTAI), pp 245–252
Haider A, Nadeem a, Rafiq S (2014) Multiple objective test suite optimization: a fuzzy logic based approach. J Intell Fuzzy Syst 27:863–875
Haider AA, Rafique S, Nadeem A (2012) Test suite optimization using fuzzy logic. In: 8th international conference of emerging techniques (ICET)
Holland JH (1992) Adaptation in natural and artificial systems: an introductory analysis with applications to biology, control, and artificial intelligence. MIT Press, Cambridge
Hutchins M, Foster H, Goradia T, Ostrand T (1994) Experiments on the effectiveness of dataflow- and control-flow-based test adequacy criteria. In: Proceedings of 16th international conference on software engineering. IEEE Computer Society Press, pp 191–200
Jyh-Shing Roger Jang CTS, Mizutani E (1997) Neuro-fuzzy and soft computing: a computational approach to learning and machine learning. Prentice Hall, Upper Saddle River
Kazmi R, Jawawi DNA, Mohamad R, Ghani I (2017) Effective regression test case selection: a systematic literature review. ACM Comput Surv 50(2):29:1–29:32
Kumar M, Sharma A, Kumar R (2011) Optimization of test cases using soft computing techniques: a critical review. WSEAS Trans Inf Sci Appl 8(11):440–452
Li Z, Harman M, Hierons RM (2007) Search algorithms for regression test case prioritization. IEEE Trans Softw Eng 33(4):225–237
Mansour N, Statieh W (2009) Regression test selection for c# programs. Adv Softw Eng. https://doi.org/10.1155/2009/535708
Mei H, Hao D, Zhang L, Zhang L, Zhou J, Rothermel G (2012) A static approach to prioritizing JUnit test cases. IEEE Trans Softw Eng 38(6):1258–1275
Mondal D, Hemmati H, Durocher S (2015) Exploring test suite diversification and code coverage in multi-objective test case selection. In: IEEE 8th international conference on software testing, verification and validation (ICST). IEEE, pp 1–10
Musa S, Sultan A, Md AGA, Baharom S (2014) A regression test case selection and prioritization for object-oriented programs using dependency graph and genetic algorithm. Int J Eng Sci 4(7):54–64
Muthusamy T (2014) A new effective test case prioritization for regression testing based on prioritization algorithm. Int J Appl Inf Syst 6(7):21–26
Nanda A, Mani S, Sinha S, Harrold MJ, Orso A (2011) Regression testing in the presence of non-code changes. In: In software testing, verification and validation (ICST), pp 21–30
Nguyen QV, Madeyski L (2017) Addressing mutation testing problems by applying multi-objective optimization algorithms and higher order mutation. J Intell Fuzzy Syst 32(2):1173–1182
Parsa S, Khalilian A (2010) On the optimization approach towards test suite minimization. Int J Softw Eng Appl 4(1):15–28
Pravin A, Srinivasan S (2013) An efficient algorithm for reducing the test cases which is used for performing regression testing. In: 2nd international conference on computational techniques and artificial intelligence (ICCTAI’2013), vol 119, pp 194–197
Rogstad E, Briand L, Torkar R (2013) Test case selection for black-box regression testing of database applications. Inf Softw Technol 55(10):1781–1795
Rojas JM, Vivanti M, Arcuri A, Fraser G (2017) A detailed investigation of the effectiveness of whole test suite generation. Empir Softw Eng 22(2):852–893
Sharma C, Sabharwal S, Sibal R (2013) A survey on software testing techniques using genetic algorithm. Int J Comput Sci Issues 10(1):381–393
Shi A, Gyori A, Gligoric M, Zaytsev A, Marinov D (2014) Balancing trade-offs in test-suite reduction. In: Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering, pp 246–256
Silva Simao A, De Mello R, Senger L (2006) A technique to reduce the test case suites for regression testing based on a self-organizing neural network architecture. In: 30th annual international computer software and applications conference (COMPSAC’06). IEEE, pp 93–96
Trelea IC (2003) The particle swarm optimization algorithm: convergence analysis and parameter selection. Inf Process Lett 85(6):317–325
Wang S, Ali S, Gotlieb A (2013) Minimizing test suites in software product lines using weight-based genetic algorithms. In: Proceeding of the fifteenth annual conference on genetic and evolutionary computation conference—GECCO ’13, p 1493
Whyte G, Mulder D (2011) Mitigating the impact of software test constraints on software testing effectiveness. Electron J Inf Syst Eval 14(2):254–270
Xu Z, Gao K, Khoshgoftaar T (2005) Application of fuzzy expert system in test case selection for system regression test. In: Conference on information reuse and integration, 2005
Yoo S, Harman M (2007) Pareto efficient multi-objective test case selection. In: Proceedings of the 2007 international symposium on software testing and analysis—ISSTA ’07, p 140. ACM Press, New York
Yoo S, Harman M, Ur S (2013) GPGPU test suite minimisation: search based software engineering performance improvement using graphics cards. Empir Softw Eng 18(3):550–593
Zhiwei Xu, Kehan Gao, Khoshgoftaar T (2005) Application of fuzzy expert system in test case selection for system regression test. In: Conference on IRI—2005 IEEE international conference on information reuse and integration, 2005, pp 120–125. IEEE
Zhongsheng Q (2010) Test case generation and optimization for user session-based web application testing. J Comput 5(11):1655–1662
Acknowledgements
It is to worth mentioning here that we modified the code of PSO programmed by S. Mostapha Kalami Heris and used that code with MATLAB functions to implement the proposed approach.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of Interest
The authors declare that they have no conflict of interest.
Rights and permissions
About this article
Cite this article
Anwar, Z., Afzal, H., Bibi, N. et al. A hybrid-adaptive neuro-fuzzy inference system for multi-objective regression test suites optimization. Neural Comput & Applic 31, 7287–7301 (2019). https://doi.org/10.1007/s00521-018-3560-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00521-018-3560-8