ارائه رویکردی برای شناسایی و طبقه بندی جهشها براساس ویژگیهای جهش ها با الگوریتم های یادگیری ماشین
الموضوعات :زینب اصغری 1 , بهمن آراسته 2 , عباس کوچاری 3
1 - دانشگاه آزاد اسلامی واحد علوم و تحقیقات تهران
2 - دانشگاه آزاد اسلامی واحد تبریز
3 - دانشگاه آزاد اسلامی واحد علوم و تحقیقات تهران-تهران
الکلمات المفتاحية: آزمون نرم افزار, آزمون جهش , جهش¬های معادل, کفایت آزمون , امتیاز جهش,
ملخص المقالة :
آزمون جهش نرم افزار، یکی از روش¬های موثر برای ارزیابی کیفیت کد و تشخیص خطاهای پنهان است. با این حال، این روش با چالش¬هایی مانند تولید جهش¬های معادل و زمان¬بر بودن فرایند مواجه است. موردآزمونهای طراحی شده برای آزمون نرم¬افزار باید از کفایت لازم برخوردار باشند. برای این کار از معیار امتیاز آزمون جهش استفاده می¬شود. یکی از مسائل اصلی مرتبط با آزمون جهش نرم افزار، تولید جهش¬های معادل است. جهش¬های معادل، جهش¬هایی هستند که باعث تغییر در رفتار برنامه نمی¬شوند و خروجی یکسانی با برنامه اصلی دارند. شناسایی این جهش¬ها می¬تواند فرایند آزمون جهش را زمان¬بر و هزینه¬بر کند. همچنین امکان دارد این جهش¬ها به اشتباه در دسته جهش¬های سرسخت قرار بگیرند. درحالی که جهش¬های سرسخت را میت¬وان با تغییر موردآزمونها و تقویت آنها پیدا کرد. در این مقاله، ما به بررسی روشی برای طبقه¬بندی جهش¬های برنامه برای شناسایی و جداسازی جهش¬های معادل از جهش¬های سرسخت می پردازیم. با استفاده از الگوریتم های یادگیری ماشین، ما قصد داریم که این فرایند را بهینه سازی کنیم و کارآمدی و کارایی روش را بهبود دهیم. این کار با استخراج ویژگی های مختلف از جهش ها و استفاده از آنها برای آموزش مدل های یادگیری ماشین انجام می شود.
1. Richard A. DeMillo, Richard J. Lipton, and Fred G. Sayward. "Hints on test data selection: Help for the practicing programmer." IEEE Computer, 11(4): 34-41, 1978.
2. Jeff Offutt and Ammei Lee. "An empirical evaluation of weak mutation." IEEE Transactions on Software Engineering, 24(8): 649-660, 1998.
3. Mark Harman. "The current state and future of search-based software engineering." In Proceedings of the 28th International Conference on Software Engineering (ICSE'06), pages 342-351. ACM, 2006.
4. Simon Poulding and James A. Jones. "An empirical study of the robustness of MacOS applications using random testing." In Proceedings of the 10th International Workshop on Dynamic Analysis (WODA'12), pages 35-40. IEEE, 2012.
5. López, J., Kushik, N., & Yevtushenko, N. (2018). Source Code Optimization using Equivalent Mutants. Inf. Softw. Technol., 103, 138-141. https://doi.org/10.1016/j.infsof.2018.06.013.
6. Ghiduk, A., Girgis, M., & Shehata, M. (2019). Employing Dynamic Symbolic Execution for Equivalent Mutant Detection. IEEE Access, 7, 163767-163777. https://doi.org/10.1109/ACCESS.2019.2952246.
7. Zeinab Asghari, Bahman Arasteh, and Abbas Koochari. 2024. Effective Software Mutation-Test Using Program Instructions Classification. J. Electron. Test. 39, 5–6 (Dec 2023), 631–657. https://doi.org/10.1007/s10836-023-06089-0
8. Ghiduk, A., Girgis, M., & Shehata, M. (2019). Employing Dynamic Symbolic Execution for Equivalent Mutant Detection. IEEE Access, 7, 163767-163777. https://doi.org/10.1109/ACCESS.2019.2952246.
9. Jammalamadaka, K., & Parveen, N. (2021). Equivalent mutant identification using hybrid wavelet convolutional rain optimization. Software: Practice and Experience, 52, 576 - 593. https://doi.org/10.1002/spe.3038.
10. Souza, B., & Gheyi, R. (2020). A Lightweight Technique to Identify Equivalent Mutants. . https://doi.org/10.5753/CBSOFT_ESTENDIDO.2020.14630.
11. Tenorio, M., Lopes, R., Fechine, J., Marinho, T., & Costa, E. (2019). Subsumption in Mutation Testing: An Automated Model Based on Genetic Algorithm. 16th International Conference on Information Technology-New Generations (ITNG 2019). https://doi.org/10.1007/978-3-030-14070-0_24.
12. Fernandes, L., Ribeiro, M., Gheyi, R., Delamaro, M., Guimarães, M., & Santos, A. (2022). Put Your Hands In The Air! Reducing Manual Effort in Mutation Testing. Proceedings of the XXXVI Brazilian Symposium on Software Engineering. https://doi.org/10.1145/3555228.3555233.
13. Abuljadayel, A., & Wedyan, F. (2018). An Approach for the Generation of Higher Order Mutants Using Genetic Algorithms. International Journal of Intelligent Systems and Applications, 10, 34-45. https://doi.org/10.5815/IJISA.2018.01.05.
14. Basile, D., Beek, M., Cordy, M., & Legay, A. (2020). Tackling the equivalent mutant problem in real-time systems: the 12 commandments of model-based mutation testing. Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A. https://doi.org/10.1145/3382025.3414966.
15. Naeem, M., Lin, T., Naeem, H., & Liu, H. (2020). A machine learning approach for classification of equivalent mutants. Journal of Software: Evolution and Process, 32. https://doi.org/10.1002/smr.2238.
16. Ayad, A., Marsit, I., Loh, J., Omri, M., & Mili, A. (2019). Estimating the Number of Equivalent Mutants. 2019 IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW), 112-121. https://doi.org/10.1109/ICSTW.2019.00039.
17. Ayad, A., & Mili, A. (2020). Automated Estimation of the Rate of Equivalent Mutants. 2020 International Conference on Computational Science and Computational Intelligence (CSCI), 1794-1799. https://doi.org/10.1109/CSCI51800.2020.00331.
18. Kazerouni, A., Davis, J., Basak, A., Shaffer, C., Servant, F., & Edwards, S. (2021). Fast and accurate incremental feedback for students' software tests using selective mutation analysis. J. Syst. Softw., 175, 110905. https://doi.org/10.1016/j.jss.2021.110905.
19. Devroey, X., Perrouin, G., Papadakis, M., Legay, A., Schobbens, P., & Heymans, P. (2018). Model-based mutant equivalence detection using automata language equivalence and simulations. J. Syst. Softw., 141, 1-15. https://doi.org/10.1016/j.jss.2018.03.010.
20. Marsit, I., Ayad, A., Kim, D., Latif, M., Loh, J., Omri, M., & Mili, A. (2021). The ratio of equivalent mutants: A key to analyzing mutation equivalence. J. Syst. Softw., 181, 111039. https://doi.org/10.1016/J.JSS.2021.111039.
21. Khan, R., & Amjad, M. (2019). Mutation-based genetic algorithm for efficiency optimisation of unit testing. Int. J. Adv. Intell. Paradigms, 12, 254-265. https://doi.org/10.1504/IJAIP.2019.10019862.
22. Petrović, G., Ivankovic, M., Fraser, G., & Just, R. (2021). Practical Mutation Testing at Scale: A view from Google. IEEE Transactions on Software Engineering, 48, 3900-3912. https://doi.org/10.1109/TSE.2021.3107634.
23. Naeem, M., Lin, T., Naeem, H., Ullah, F., & Saeed, S. (2019). Scalable Mutation Testing Using Predictive Analysis of Deep Learning Model. IEEE Access, 7, 158264-158283. https://doi.org/10.1109/ACCESS.2019.2950171.