ارائه یک روش نوین جهت پیش‌بینی نقص نرم‌افزار با استفاده از ترکیب شبکه عصبی و الگوریتم‌ ملخ

نوع مقاله : مقاله کامپیوتر

نویسندگان

1 گروه علمی مهندسی کامپیوتر، موسسه آموزش عالی غیرانتفاعی غیردولتی جاوید، جیرفت

2 گروه مهندسی کامپیوتر، واحد بردسیر، دانشگاه آزاد اسلامی، بردسیر، ایران

چکیده

سیکل توسعه نرم‌افزار شامل آنالیز، طراحی، پیاده‌سازی و تست و یکسری فازهای دیگر است. مرحله تست نرم‌افزار یکی از مراحل هزینه‌بر توسعه نرم‌افزار است، باید به‌طور مؤثری انجام شود تا نرم‌افزار بدون خطا دست کاربران برسد. یکی از فعالیت‌های مؤثر برای توسعه نرم‌افزار و افزایش قابلیت اطمینان آن، پیش‌بینی نقص نرم‌افزار قبل از رسیدن به مرحله تست است که کمک حائز اهمیتی برای صرفه‌جویی زمانی در فرآیند تولید، نگهداری و هزینه آن می‌کند. یکی از مدل‌های کارا برای پیش‌بینی نقص نرم‌افزار، استفاده از شبکه‌های عصبی پرسپترون چندلایه با الگوریتم آموزشی پس‌انتشار خطا است. یکی از نقاط ضعف الگوریتم آموزشی پس‌انتشار خطا احتمال به دام افتادن شبکه عصبی در نقاط مینیمم محلی است. با توجه به قابلیت الگوریتم‌های فراابتکاری در خروج از دام مینیمم‌های محلی و یافتن مینیمم سراسری، در این مقاله جهت برطرف کردن ضعف الگوریتم آموزشی شبکه عصبی و بهبود دقت آن در زمینه پیش‌بینی نقص نرم‌افزار، از ترکیب الگوریتم فراابتکاری ملخ با الگوریتم آموزشی پس‌انتشار خطا استفاده شده است. جهت ارزﯾﺎﺑﯽ ﻧﺘﺎﯾﺞ ﺣﺎﺻﻞ از ﻣﺪل ﭘﯿﺸﻨﻬﺎدی، نه ﭘﺎﯾﮕﺎه داده واﻗﻌﯽ ﺑﮑﺎر گرفته‌شده و روش ارزﯾﺎﺑﯽ ﻣﺘﻘـﺎﻃﻊ ﻣﺒﻨﺎی اراﺋﻪ ﻧﺘﺎﯾﺞ ﺑﻮده اﺳﺖ. ﻋﻤﻠﮑﺮد ﻣﺪل ﭘﯿﺸﻨﻬﺎدی ﺑﺎ شش ﻣﺪل پیش‌بینی ﻧﻘـﺺ نرم‌افزار ﻣﻘﺎﯾﺴﻪ ﺷﺪه اﺳﺖ. ﻧﺘﺎﯾﺞ اﯾﻦ ﻣﻘﺎﯾﺴﻪ ﻧﺸﺎن می‌دهد ﮐﻪ ﻣﺪل ﭘﯿﺸﻨﻬﺎدی ﻗﺎدر اﺳﺖ در ﺗﻌﺪاد زﯾﺎدی از مجموعه داده، ﺻﺤﺖ و دﻗﺖ ﺑﺎﻻﺗﺮی ﻧﺴﺒﺖ ﺑﻪ ﺳﺎﯾﺮ مدل‌ها اراﺋﻪ دﻫﺪ.

کلیدواژه‌ها

موضوعات


عنوان مقاله [English]

Presentation of a new method for predicting software defect using neural network combination and grasshopper algorithm.

نویسندگان [English]

  • somaye shabani zade rabori 1
  • vahid khatibi bardsiri 2
  • amid khatibi bardsiri 2
1 , Javid Non-profit Higher Education Institution, Jiroft
2 Science and Research Branch, Islamic Azad University, Bardsir, IRAN
چکیده [English]

Software development cycle includes analysis, design, implementation and testing, and several other phases. The software testing phase is one of the costly stages of software development, and should be effectively implemented so that the software can be accessed without error by the users. One of the most effective activities for software development and its reliability is to predict software flaws before reaching the testing stage, which helps to save time in the production, maintenance and cost of software. One of the most effective models for predicting software flaws is the use of multilevel perceptron neural networks with post-error training algorithm. One of the weaknesses of the post-error training algorithm is the possibility of trapping the neural network at the local minimum points. Considering the potential of hyper-algorithms in exiting the local minimum mines and finding the minimum in general, in this paper, the combination of grasshopper meta-heuristic algorithm and post-error training algorithm were used to solve the weakness of the training algorithm and to improve its accuracy in predicting software defect. Is. In order to evaluate the results of the proposed model, neither the actual database was used nor the cross-evaluation method was the basis for presenting the results. The proposed model's performance has been compared with six defective software prediction models. The results of this comparison show that the proposed model is able to provide more accuracy and accuracy in comparison to other models in a large number of data sets.

کلیدواژه‌ها [English]

  • Reliability
  • Software Defect Prediction
  • Perceptron Neural Networks
  • Grasshopper Algorithm
[1]    Ö. F. Arar and K. Ayan, "Software defect prediction using cost-sensitive neural network". Applied Soft Computing, Vol. 33, August 2015,pp. 263-277.
[2]    J. Cahill, J. M. Hogan and R. Thomas. "Predicting fault-prone software modules with rank sum classification". in Software Engineering Conference (ASWEC), 2013 22nd Australian,IEEE,(2013)
[3]    W. Han, H. Jiang, W. Li and Y. Li. "A summary of software defect model. in Control and Automation (CA)", 2014 7th Conference on,IEEE,(2014)
[4]    مهسا عاشمی مجد و عباس رسولزادگان و زهرا قویدل یزدی "،مروری نظام‌مند بر مدل‌سازی قابلیت اطمینان نرم‌افزار". مدل سازی در مهندسی، دوره 15، شماره 50، پاییز 1396، صفحه 313-285.
[5]    T. M. Khoshgoftaar and N. Seliya, "Comparative assessment of software quality classification techniques: An empirical case study". Empirical Software Engineering, Vol. 9,No.3, September 2004,pp. 229-257.
[6]    P. He, B. Li, X. Liu, J. Chen and Y. Ma, "An Empirical Study on Software Defect Prediction with a Simplified Metric Set", vol. 59. Wuhan University, Wuhan, March 2014,pp. 170-190.
[7]    G. Czibula, Z. Marian and I. G. Czibula, "Software defect prediction using relational association rule mining". Information Sciences, Vol. 264, April 2014,pp. 260-278.
[8]    R. Malhotra and A. Jain, "Fault prediction using statistical and machine learning methods for improving software quality". Journal of Information Processing Systems, Vol. 8,No.2, 2012,pp. 241-262.
[9]    I. Gondra, "Applying machine learning to software fault-proneness prediction". Journal of Systems and Software, Vol. 81,No.2,February 2008,pp. 186-195.
[10] K. Dejaeger, T. Verbraken and B. Baesens, "Toward comprehensible software fault prediction models using bayesian network classifiers". IEEE Transactions on Software Engineering, Vol. 39,No.2, February 2013,pp. 237-257.
[11] H. Lu, B. Cukic and M. Culp. "Software defect prediction using semi-supervised learning with dimension reduction". in Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering,ACM,(2012)
[12] H. Wang, T. M. Khoshgoftaar and N. Seliya. "How many software metrics should be selected for defect prediction?" in Twenty-Fourth International FLAIRS Conference,(2011)
[13] F. Peters, T. Menzies and A. Marcus. "Better cross company defect prediction". in Mining Software Repositories (MSR), 2013 10th IEEE Working Conference on,IEEE,(2013)
[14] S. Wang and X. Yao, "Using class imbalance learning for software defect prediction". IEEE Transactions on Reliability, Vol. 62,No.2, , April 2013,pp. 434-443.
[15] Y. Ma, G. Luo, X. Zeng and A. Chen, "Transfer learning for cross-company software defect prediction". Information and Software Technology, Vol. 54,No.3, April 2012,pp. 248-256.
[16] A. Paksoy and M. Göktürk, "Information fusion with dempster-shafer evidence theory for software defect prediction". Procedia Computer Science, Vol. 3, March 2011,pp. 600-605.
[17] W. Tao, L. Weihua, S. Haobin and L. Zun, "Software defect prediction based on classifiers ensemble". JOURNAL OF INFORMATION &COMPUTATIONAL SCIENCE, Vol. 8,No.16, December 2011,pp. 4241-4254,.
[18] A. S. Haghighi, M. A. Dezfuli and S. Fakhrahmad. "Applying mining schemes to software fault prediction: A proposed approach aimed at test cost reduction". in Proceedings of the World Congress on Engineering,(2012)
[19] A. Okutan and O. T. Yıldız, "Software defect prediction using Bayesian networks". Empirical Software Engineering, Vol. 19,No.1,August 2014,pp. 154-181.
[20] T. M. Khoshgoftaar, K. Gao and N. Seliya. "Attribute selection and imbalanced data: Problems in software defect prediction". in Tools with Artificial Intelligence (ICTAI), 2010 22nd IEEE International Conference on,IEEE,(2010)
[21] P. Zhang and Y.-t. Chang. "Software fault prediction based on grey neural network". in Natural Computation (ICNC), 2012 Eighth International Conference on,IEEE,(2012)
[22] F. S. Fazel, "A New Method to Predict the Software Fault Using Improved Genetic Algorithm". Bulletin de la Société Royale des Sciences de Liège, Vol. 85,2016,pp. 187-202.
[23] K. Sheoran, P. Tomar and R. Mishra, "Software Quality Prediction Model with the Aid of Advanced Neural Network with HCS". Procedia Computer Science, Vol. 92, 2016,pp. 418-424.
[24] A. Pal, H. Jain and M. Kumar, "Optimizing Software Error Proneness Prediction Using Bird Mating Algorithm", in Software Project Management for Distributed Computing, Springer. April 2017,p. 257-287.
[25] X. Rong, F. Li and Z. Cui, "A model for software defect prediction using support vector machine based on CBA". International Journal of Intelligent Systems Technologies and Applications, Vol. 15,No.1, 2016,pp. 19-34.
[26] R. Malhotra and A. Khurana, "Analysis of Evolutionary Algorithms to Improve Software Defect Prediction".)2018(.
[27] S. Saremi, S. Mirjalili and A. Lewis, "Grasshopper optimisation algorithm: Theory and application". Advances in Engineering Software, Vol. 105, March 2017,pp. 30-47.
[28] R. D. Stutzke and M. Crosstalk," Software estimating technology: A survey".  Los. Alamitos, CA: IEEE Computer Society Press (1997).
[29] سید بهرام بهشتی اول و وحید احمدیان و احسان درویشان، "شناسایی خسارت در سازه با استفاده از پردازش سیگنال و شبکه های عصبی مصنوعی"، نشریه مدل سازی در مهندسی، دوره 16، شماره 52، بهار 1397، صفحه 21-21.
[30] حسین شریف زاده ونیما امجدی، "توزیع بهینه توان راکتیو با استفاده از الگوریتم بهینه‌سازی دسته ذرات"، نشریه مدل سازی در مهندسی، دوره 4، شماره 18، پاییز 1388، صفحه 73-67
[31] I. Maleki, A. Ghaffari and M. Masdari, "A new approach for software cost estimation with hybrid genetic algorithm and ant colony optimization". International Journal of Innovation and Applied Studies, Vol. 5,No.1, January 2014,pp. 72 .
[32] V. K. Asari, "Training of a feedforward multiple-valued neural network by error backpropagation with a multilevel threshold function". IEEE Transactions on Neural Networks, Vol.12,No.6,November 2001,pp.1519-1521.
 
[33] A. Chug and S. Dhall, "Software defect prediction using supervised learning algorithm and unsupervised learning algorithm".)2013(.
 
[34] سولماز فرشیدپور و فرشید کی نیا، "پیش بینی نقص نرم افزار با استفاده ازترکیب مدل شبکه های عصبی و الگوریتم فرااکتشافی جهش قورباغه ها "،  اولین همایش ملی فناوری اطلاعات و شبکه های کامپیوتری دانشگاه پیام نور، طبس،1391.