| تعداد نشریات | 38 |
| تعداد شمارهها | 1,408 |
| تعداد مقالات | 10,088 |
| تعداد مشاهده مقاله | 11,911,235 |
| تعداد دریافت فایل اصل مقاله | 6,961,950 |
شناسایی کدهای مشکوک با استفاده از روشهای انتخاب ویژگی مجموعهای و فنون پوششی مبتنی بر شبکه عصبی. | ||
| علوم و فناوریهای پدافند نوین | ||
| مقاله 2، دوره 15، شماره 3 - شماره پیاپی 57، آبان 1403، صفحه 137-155 اصل مقاله (1.11 M) | ||
| نوع مقاله: مقاله پژوهشی | ||
| نویسندگان | ||
| علی طلوعی فر1؛ علی کریمی* 2؛ فرهاد کریمی3 | ||
| 1دانشجوی کارشناسی ارشد،دانشگاه جامع امام حسین (ع)-تهران-ایران | ||
| 2استادیار،دانشگاه جامع امام حسین (ع)- ایران- تهران | ||
| 3پژوهشگر، دانشگاه جامع امام حسین (ع)، تهران، ایران | ||
| تاریخ دریافت: 20 تیر 1403، تاریخ بازنگری: 30 شهریور 1403، تاریخ پذیرش: 20 مهر 1403 | ||
| چکیده | ||
| بازآرایی کد نرمافزار یکی از روشهای مؤثر در افزایش کیفیت نرمافزار است که رابطه مستقیمی با کد مشکوک نرمافزار دارد. کد مشکوک یک نشانه سطحی است که احتمالاً نشاندهنده یک مشکل عمیقتر در برنامه است. کد مشکوک، نگهداری، توسعه و تکامل برنامه را با مشکل مواجه میکند. پدافند نوین مجموعهای از فناوریها و سیستمهایی است که برای مقابله با تهدیدات امنیتی مدرن و پیشرفته طراحی شدهاند و به مجموعه اقداماتی اشاره دارد که برای افزایش امنیت و کاهش آسیبپذیری نرمافزار در مقابل تهدیدات، انجام میشود. این اقدامات شامل طراحی امن، استفاده از الگوهای معماری مناسب و پرهیز از پیچیدگیهای غیرضروری در کد نرمافزار است. در این تحقیق، روشی بر مبنای شبکه عصبی با یک روش انتخاب ویژگی جدید شامل استفاده از روشهای انتخاب ویژگی مجموعهای و فنون پوششی جهت پیشبینی کدهای مشکوک نرمافزار ارائه شده است. کدهای مشکوک مورداشاره در نرمافزار شامل متد طولانی، لیست پارامترهای طولانی، کلاس بزرگ، لیست طولانی از کلاسهای پایه و زنجیره دامنه طولانی میشوند. همچنین الگوریتم ژنتیک و بهینهساز گرگ خاکستری، فنون پوششی موردنظر و بهره اطلاعاتی، امتیاز بهره اطلاعاتی و کای-مربع، سه الگوریتم مورد استفاده در بخش انتخاب ویژگی مجموعهای میباشند. هدف نهایی و اصلی این تحقیق، بهبود کیفیت نرمافزار با پیشبینی زودهنگام کدهای مشکوک با استفاده از یک روش انتخاب ویژگی مطلوب در کد منبع برنامه با زبان پایتون است که به کمک روش پیشنهادی تحقق پیدا کرده و بهبود عملکرد 1 تا 7 درصد را حاصل کرده است. | ||
| کلیدواژهها | ||
| مهندسی نرمافزار؛ بهبود کیفیت نرمافزار؛ کد مشکوک؛ طبقهبندی؛ شبکه عصبی؛ انتخاب ویژگی | ||
| عنوان مقاله [English] | ||
| Code Smells detection using ensemble feature selection methods and wrapper techniques based on neural network. | ||
| نویسندگان [English] | ||
| Ali tolui far1؛ Ali Karimi2؛ farhad karimi3 | ||
| 1Master's student, Imam Hossein University -Tehran-Iran | ||
| 2Assistant Professor, Imam Hossein University, Tehran, Iran | ||
| 3Researcher, Imam Hossein University, Tehran, Iran | ||
| چکیده [English] | ||
| Software code refactoring is one of the effective methods to enhance software quality, which has a direct relationship with the code smells of the software. Code smell is a superficial symptom that may indicate a deeper problem in the application. Code smell hinders the path of maintenance, development and evolution of the program. Advanced defense is a set of technologies and systems designed to counter modern and advanced security threats. It encompasses a set of measures such as secure design, the use of appropriate architectural patterns, and avoiding unnecessary complexities in software code. Most studies have utilized open-source software in the Java programming language, whereas newer and more modern software projects tend to lean towards Python. Therefore, in this paper, a neural network-based approach with a new feature selection method including the use of ensemble feature selection methods and wrapper techniques, has been presented to predict software code smells in the Python programming language. The code smells mentioned in the software include long method, long parameter list, large class, long base class list and long scope chaining. Also, the genetic algorithm and the gray wolf optimizer are the desired wrapper techniques, and information gain, information gain ratio and chi-square are the three algorithms used in the ensemble feature selection. The final and main goal of this paper, which is to improve software quality by early prediction of code smells using a desirable feature selection method in the source code of the program with Python language, has been realized with the help of the proposed method and performance improvement of 1 to 7 percent has been obtained. | ||
| کلیدواژهها [English] | ||
| Software engineering, Software quality improvement, Code smell, Classification, Neural network, Feature selection | ||
| مراجع | ||
|
[1] Rathore, S. S.; Kumar, S. “A Study on Software Fault Prediction Techniques”; Artif. Intell. Rev. 2019, 51, 255-327. doi: 10.1007/s10462-017-9563-5. [2] Jain, S.; Saha, A. “Improving Performance with Hybrid Feature Selection and Ensemble Machine Learning Techniques for Code Smell Detection”; Sci. Comput. Program. 2021, 212, 102713. doi: 10.1016/j.scico.2021.102713. [3] Tufano, M.; Palomba, F.; Bavota, G.; Oliveto, R.; Di Penta, M.; De Lucia, A.; Poshyvanyk, D. “When and Why Your Code Starts to Smell Bad”; 37th IEEE Int. Conf. Softw. Eng. 2015, 1, 403-414. doi: 10.1109/ICSE.2015.59. [4] Gupta, A.; Suri, B.; Misra, S. “A Systematic Literature Review: Code Bad Smells in Java Source Code”; Int. Conf. Comput. Sci. Appl. 2017, 665-682. doi: 10.1007/978-3-319-62404-4_49. [5] Mahalakshmi, D.; Kasinathan, P.; Elangovan, D.; Bhat, C. R.; Balamurugan, M.; Sivakumar, S. “Code Smell Detection using Hybrid Machine Learning Algorithms”; 5th Int. Conf. Inventive Res. Comput. Appl. 2023, 633-638. doi: 10.1109/ ICIRCA57980.2023.10220911. [6] Zhang, Y.; Ge, C.; Liu, H.; Zheng, K. “Code Smell Detection Based on Supervised Learning Models: A Survey”; Neurocomputing 2024, 565, 127014. https://doi.org/10.1016/ j.neucom.2023.127014. [7] Olbrich, S. M.; Cruzes, D. S.; Sjøberg, D. I. “Are All Code Smells Harmful? A study of God Classes and Brain Classes in the Evolution of Three Open Source Systems”; IEEE Int. Conf. Softw. Maint. 2010, 1-10. doi: 10.1109/ICSM.2010.5609564. [8] Moha, N.; Guéhéneuc, Y.-G.; Duchien, L.; Le Meur, A.-F. “Decor: A Method for the Specification and Detection of Code and Design Smells”; IEEE Trans. Softw. Eng. 2009, 36, 20-36. doi: 10.1109/TSE.2009.50. [9] Zhang, X.-F.; Zhu, C. “Empirical Study of Code Smell Impact on Software Evolution”; J. Softw. 2019, 30, 1422-1437. doi: 10.13328/j.cnki.jos.005735. [10] Tian, Y. C.; Li, K. J.; Wang, T. M.; Jiao, Q. Q.; Li, G. J.; Zhang, Y. X.; Liu, H. “Survey on Code Smells. Ruan Jian Xue Bao”; J. Softw. 2023, 34, 150-170. doi: 10.13328/j.cnki. jos.006431. [11] Azeem, M. I.; Palomba, F.; Shi, L.; Wang, Q. “Machine Learning Techniques for Code Smell Detection: A Systematic Literature Review and Meta-Analysis”; Inf. Softw. Technol. 2019, 108, 115-138. doi: 10.1016/j.infsof.2018.12.009. [12] Caram, F. L.; Rodrigues, B. R. D. O.; Campanelli, A. S.; Parreiras, F. S. “Machine Learning Techniques for Code Smells Detection: A Systematic Mapping Study”; Int. J. Softw. Eng. Knowl. Eng. 2019, 29, 285-316. doi: 10.1142/ S021819401950013X. [13] Pereira dos Reis, J.; Brito e Abreu, F.; de Figueiredo Carneiro, G.; Anslow, C. “Code Smells Detection and Visualization: A Systematic Literature Review”; Arch. Comput. Methods Eng. 2022, 29, 47-94. doi: 10.1007/s11831-021-09566-x. [14] Vatanapakorn, N.; Soomlek, C.; Seresangtakul, P. “Python Code Smell Detection Using Machine Learning”; 26th Int. Comput. Sci. Eng. Conf. (ICSEC) 2022, 128-133. doi: 10.1109/ICSEC56337.2022.10049330. [15] Chen, Z.; Chen, L.; Ma, W.; Zhou, X.; Zhou, Y.; Xu, B. “Understanding Metric-Based Detectable Smells in Python Software: A Comparative Study”; Inf. Softw. Technol. 2018, 94, 14-29. doi: 10.1016/j.infsof.2017.09.011. [16] Abdou, A.; Darwish, N. “Severity Classification of Software Code Smells Using Machine Learning Techniques: A comparative study”; J. Softw. 2024, 36, e2454. doi: 10.1002/smr.2454. [17] Sandouka, R.; Aljamaan, H. “Python Code Smells Detection Using Conventional Machine Learning Models”; PeerJ Comput. Sci. 2023, 9, e1370. doi: 10.7717/peerj-cs.1370. [18] Jain, S.; Saha, A. “Rank-Based Univariate Feature Selection Methods on Machine Learning Classifiers for Code Smell Detection”; Evol. Intell. 2022, 15, 609-638. doi: 10.1007/s12065-020-00536-z. [19] Alsghaier, H.; Akour, M. “Software Fault Prediction Using Whale Algorithm with Genetics Algorithm”; Softw. Pract. Exp. 2021, 51, 1121-1146. doi: 10.1002/spe.2941. [20] Fontana, F. A.; Mäntylä, M. V.; Zanoni, M.; Marino, A. “Comparing and Experimenting Machine Learning Techniques for Code Smell Detection”; Empir. Softw. Eng. 2016, 21, 1143-1191. doi: 10.1007/s10664-015-9378-4. [21] Zhu, Z.; Ong, Y.-S.; Dash, M. “Wrapper–Filter Feature Selection Algorithm Using a Memetic Framework”; IEEE Trans. Syst. Man Cybern. B 2007, 37, 70-76. doi: 10.1109/TSMCB.2006.883267. [22] Riaz, S.; Arshad, A.; Jiao, L. “Rough Noise-Filtered Easy Ensemble for Software Fault Prediction”; IEEE Access 2018, 6, 46886-46899. doi: 10.1109/ACCESS.2018.2865383. [23] Gao, K.; Khoshgoftaar, T. M.; Wang, H.; Seliya, N. “Choosing Software Metrics for Defect Prediction: An Investigation on Feature Selection Techniques”; Softw. Pract. Exp. 2011, 41, 579-606 doi: 10.1002/spe.1043. [24] Kalsoom, A.; Maqsood, M.; Ghazanfar, M. A.; Aadil, F.; Rho, S. “A Dimensionality Reduction-Based Efficient Software Fault Prediction Using Fisher Linear Discriminant Analysis (FLDA)”; J. Supercomput. 2018, 74, 4568-4602. doi: 10.1007/s11227-018-2326-5. [25] Alazba, A.; Aljamaan, H.; Alshayeb, M. “Deep Learning Approaches for Bad Smell Detection: A Systematic Literature Review”; Empir. Softw. Eng. 2023, 28, 77. doi: 10.1007/s10664-023-10312-z. [26] Bolón-Canedo, V.; Sánchez-Marono, N.; Alonso-Betanzos, A.; Benítez, J. M.; Herrera, F. “A Review of Microarray Datasets and Applied Feature Selection Methods”; Inf. Sci. 2014, 282, 111-135. doi: 10.1016/j.ins.2014.05.042. [27] Almazrua, H.; Alshamlan, H. “A Comprehensive Survey Of Recent Hybrid Feature Selection Methods in Cancer Microarray Gene Expression Data”; IEEE Access 2022, 10, 71427-71449. doi: 10.1109/ACCESS.2022.3185226. [28] Remeseiro, B.; Bolon-Canedo, V. “A Review of Feature Selection Methods in Medical Applications”; Comput. Biol. Med. 2019, 112, 103375. doi: 10.1016/j.compbiomed. 2019. 103375. [29] De, R.; Bush, W. S.; Moore, J. H. “Bioinformatics Challenges in Genome-Wide Association Studies (GWAS)”; Clin. Bioinform. 2014, 63-81. doi: 10.1007/978-1-4939-0847-9_5. [30] Okser, S.; Pahikkala, T.; Aittokallio, T. “Genetic Variants and Their Interactions in Disease Risk Prediction–Machine Learning and Network Perspectives”; BioData Min. 2013, 6, 1-16. doi: 10.1186/1756-0381-6-5. [31] Saeys, Y.; Inza, I.; Larranaga, P. “A Review of Feature Selection Techniques in Bioinformatics”; Bioinform. 2007, 23, 2507-2517. doi: 10.1093/bioinformatics/btm344. [32] Pudjihartono, N.; Fadason, T.; Kempa-Liehr, A. W.; O'Sullivan, J. M. “A Review of Feature Selection Methods for Machine Learning-Based Disease Risk Prediction”; Front. Bioinform. 2022, 2, 927312. doi: 10.3389/fbinf.2022.927312. [33] Jain, D.; Singh, V. “Feature Selection and Classification Systems for Chronic Disease Prediction: A Review”; Egypt. Inform. J. 2018, 19, 179-189. doi: 10.1016/j.eij.2018.03.002. [34] Chen, C. W.; Tsai, Y. H.; Chang, F. R.; Lin, W. C. “Ensemble Feature Selection in Medical Datasets: Combining Filter, Wrapper, and Embedded Feature Selection Results”; Expert Syst. 2020, 37, e12553. doi: 10.1111/exsy.12553. [35] Balogun, A. O.; Basri, S.; Abdulkadir, S. J.; Hashim, A. S. “Performance Analysis of Feature Selection Methods in Software Defect Prediction: A Search Method Approach”; Appl. Sci. 2019, 9, 2764. doi: 10.3390/app9132764. [36] Mafarja, M.; Qasem, A.; Heidari, A. A.; Aljarah, I.; Faris, H.; Mirjalili, S. “Efficient Hybrid Nature-Inspired Binary Optimizers for Feature Selection”; Cognit. Comput. 2020, 12, 150-175. doi: 10.1007/s12559-019-09668-6. [37] Mohammed, H. M.; Umar, S. U.; Rashid, T. A. “A Systematic and Meta-Analysis Survey of Whale Optimization Algorithm”; Comput. Intell. Neurosci. 2019, 2019, 8718571. doi: 10.1155/2019/8718571. [38] Too, J.; Abdullah, A. R. “A New and Fast Rival Genetic Algorithm for Feature Selection”; J. Supercomput. 2021, 77, 2844-2874. doi: 10.1007/s11227-020-03378-9. [39] Keshanchi, B.; Souri, A.; Navimipour, N. J. “An Improved Genetic Algorithm for Task Scheduling in the Cloud Environments Using the Priority Queues: Formal Verification, Simulation, and Statistical Testing”; J. Syst. Softw. 2017, 124, 1-21. doi: 10.1016/j.jss.2016.07.006. [40] Turabieh, H.; Mafarja, M.; Li, X. “Iterated Feature Selection Algorithms with Layered Recurrent Neural Network for Software Fault Prediction”; Expert. Syst. Appl. 2019, 122, 27-42. doi: 10.1016/j.eswa.2018.12.033. [41] Sadeghian, Z.; Akbari, E.; Nematzadeh, H.; Motameni, H. “A Review of Feature Selection Methods Based on Meta-Heuristic Algorithms”; J. Exp. Theor. Artif. Intell. 2023, 1-51. doi: 10.1080/0952813X.2023.2183267 [42] Emary, E.; Zawbaa, H. M.; Hassanien, A. E. “Binary Grey Wolf Optimization Approaches for Feature Selection”; Neurocomputing 2016, 172, 371-381. doi: 10.1016/j.neucom. 2015.06.083 [43] Chowdhury, A. A.; Borkar, V. S.; Birajdar, G. K. “Indian Language Identification Using Time-Frequency Image Textural Descriptors and GWO-Based Feature Selection”; J. Exp. Theor. Artif. Intell. 2020, 32, 111-132. doi: 10.1080/0952813X. 2019.1631392. [44] Pramanik, R.; Pramanik, P.; Sarkar, R. “Breast Cancer Detection in Thermograms Using a Hybrid of GA and GWO Based Deep Feature Selection Method”; Expert Syst. Appl. 2023, 219, 119643. doi: 10.1016/j.eswa.2023.119643. [45] Mirjalili, S.; Mirjalili, S. M.; Lewis, A. “Grey Wolf Optimizer”; Adv. Eng. Softw. 2014, 69, 46-61. doi: 10.1016/ j.advengsoft.2013.12.007.
[46] Abbas, A. K.; Al-haideri, N. A.; Bashikh, A. A. “Implementing Artificial Neural Networks and Support Vector Machines to Predict Lost Circulation”; Egypt. J. Pet. 2019, 28, 339-347. doi: 10.1016/j.ejpe.2019.06.006. [47] Ghatak, A. “Introduction to Machine Learning”; Mach. Learn. R 2017, 57-78. doi: 10.1007/978-981-10-6808-9_3. [48] Mutasa, S.; Sun, S.; Ha, R. “Understanding Artificial Intelligence Based Radiology Studies: What Is Overfitting?”; Clin. Imaging 2020, 65, 96-99. doi: 10.1016/ j.clinimag.2020.04.025. | ||
|
آمار تعداد مشاهده مقاله: 366 تعداد دریافت فایل اصل مقاله: 181 |
||