بررسی و ارزیابی انواع کدهای مشکوک در فرآیند بازآرایی کد برنامه نرم افزاری

سال انتشار: 1404
نوع سند: مقاله ژورنالی
زبان: فارسی
مشاهده: 63

نسخه کامل این مقاله ارائه نشده است و در دسترس نمی باشد

استخراج به نرم افزارهای پژوهشی:

لینک ثابت به این مقاله:

شناسه ملی سند علمی:

JR_SAPD-16-1_002

تاریخ نمایه سازی: 1 اردیبهشت 1404

چکیده مقاله:

کدهای مشکوک مشخصه ­های رایج برنامه نویسی هستند که ممکن است نشان دهنده وجود مشکل در برنامه باشند. شناسایی و حذف کدهای مشکوک یکی از عوامل کلیدی در توسعه نرم افزار است؛ زیرا می تواند کیفیت کد برنامه را بهبود بخشد و نگهداری و گسترش آن را در طول زمان تسهیل نماید. پدافند غیرعامل در نرم افزار به مجموعه اقداماتی اشاره دارد که برای افزایش امنیت و کاهش آسیب پذیری نرم افزار در مقابل تهدیدات، انجام می شود. این اقدامات شامل طراحی امن، استفاده از الگوهای معماری مناسب و پرهیز از پیچیدگی های غیرضروری در کد نرم افزار است. بدیهی است که یکی از روش های موثر در افزایش کیفیت نرم افزار، بازآرایی کد است که رابطه مستقیمی با شناسایی و ترمیم کدهای مشکوک دارد. تاکنون تحقیقات زیادی در حوزه شناسایی و برطرف کردن کدهای مشکوک سامانه های نرم افزاری انجام گرفته است. لیکن، از میان آنها چهار نوع کد مشکوک شامل؛ متد طولانی، ویژگی حسادت، کلاس بزرگ و کلاس داده بیشترین توجه محققین را به خود جلب کرده است. در این مقاله، ۵۸ کد مشکوک که در کد منبع نرم افزار یافت می شوند، بررسی شده و در هشت دسته بندی در قالب یک آرایه شناسی جدید ارائه می شوند. این مقاله به توسعه دهندگان و تیم های توسعه نرم افزار کمک می کند تا با شناسایی و رفع کدهای مشکوک، نرم افزارهای باکیفیت بالاتر و بهینه تر را ارایه نمایند.

کلیدواژه ها:

نویسندگان

علی کریمی

استادیار، گروه مهندسی کامپیوتر، دانشگاه جامع امام حسین (ع)، تهران، ایران

علی طلوعی فر

دانشجوی کارشناسی ارشد، مهندسی کامپیوتر گرایش نرم افزار، دانشگاه جامع امام حسین (ع)، تهران، ایران

فرهاد کریمی

پژوهشگر، گروه مهندسی کامپیوتر، دانشگاه جامع امام حسین (ع)، تهران، ایران

مراجع و منابع این مقاله:

لیست زیر مراجع و منابع استفاده شده در این مقاله را نمایش می دهد. این مراجع به صورت کاملا ماشینی و بر اساس هوش مصنوعی استخراج شده اند و لذا ممکن است دارای اشکالاتی باشند که به مرور زمان دقت استخراج این محتوا افزایش می یابد. مراجعی که مقالات مربوط به آنها در سیویلیکا نمایه شده و پیدا شده اند، به خود مقاله لینک شده اند :
  • Y. Zhang, C. Ge, H. Liu, and K. Zheng, “Code ...
  • A. Abdou and N. Darwish, “Severity classification of software code ...
  • M. Fowler, “Refactoring: improving the design of existing code.” Addison-Wesley ...
  • F. A. Fontana, M. V. Mäntylä, M. Zanoni, and A. ...
  • C. Marinescu, R. Marinescu, P. Mihancea, D. Ratiu, and R. ...
  • F. Palomba, R. Oliveto, and A. De Lucia, “Investigating code ...
  • A. Garg, M. Gupta, G. Bansal, B. Mishra, and V. ...
  • J. Wang, J. Chen, and J. Gao, “ECC Multi-Label Code ...
  • K. Kaur and S. Jain, “Evaluation of machine learning approaches ...
  • R. Wieman, “Anti-pattern Scanner: an approach to detect anti-patterns and ...
  • T. F. M. Sirqueira, A. H. M. Brandl, E. J. ...
  • G. Szőke, C. Nagy, L. J. Fülöp, R. Ferenc, and ...
  • A. AbuHassan, M. Alshayeb, and L. Ghouti, “Software smell detection ...
  • M. Jerzyk and L. Madeyski, “Code Smells: A Comprehensive Online ...
  • S. Dewangan, R. S. Rao, A. Mishra, and M. Gupta, ...
  • G. Lacerda, F. Petrillo, M. Pimenta, and Y. G. Guéhéneuc, ...
  • R. Sandouka and H. Aljamaan, “Python code smells detection using ...
  • N. Vatanapakorn, C. Soomlek, and P. Seresangtakul, “Python code smell ...
  • A. S. Abdou and N. R. Darwish, “Early prediction of ...
  • E. V. de Paulo Sobrinho, A. De Lucia, and M. ...
  • Y. Tian, K. Li, T. Wang, Q. Jiao, G. Li, ...
  • F. L. Caram, B. R. D. O. Rodrigues, A. S. ...
  • M. I. Azeem, F. Palomba, L. Shi, and Q. Wang, ...
  • S. S. Rathore and S. Kumar, “A study on software ...
  • S. Jain and A. Saha, “Improving performance with hybrid feature ...
  • M. Tufano, F. Palomba, G. Bavota, R. Oliveto, M. Di ...
  • A. Gupta, B. Suri, and S. Misra, “A systematic literature ...
  • D. Mahalakshmi, P. Kasinathan, D. Elangovan, C. R. Bhat, M. ...
  • S. Subedi, “Intelligent Code Smell Detection System Using Deep Learning,” ...
  • M. Fowler, “Refactoring: Improving the Design of Existing Code.” Addison ...
  • F. Palomba, G. Bavota, M. Di Penta, F. Fasano, R. ...
  • A. Tahir, S. Counsell, and S. G. MacDonell, “An empirical ...
  • N. Tsantalis and A. Chatzigeorgiou, “Identification of move method refactoring ...
  • N. Moha, Y.-G. Guéhéneuc, L. Duchien, and A.-F. Le Meur, ...
  • D. A. Tamburri, F. Palomba, A. Serebrenik, and A. Zaidman, ...
  • F. Khomh, M. D. Penta, Y.-G. Guéhéneuc, and G. Antoniol, ...
  • J. Garcia, D. Popescu, G. Edwards, and N. Medvidovic, “Toward ...
  • G. Suryanarayana, G. Samarthyam, and T. Sharma, “Refactoring for software ...
  • T. Sharma, M. Fragkoulis, and D. Spinellis, “House of cards: ...
  • E. Jabrayilzade, O. Gürkan, and E. Tüzün, “Towards a taxonomy ...
  • R. C. Martin, “Clean code: a handbook of agile software ...
  • V. Arnaoudova, M. Di Penta, G. Antoniol, and Y.-G. Guéhéneuc, ...
  • A. Vetro, L. Ardito, G. Procaccianti, and M. Morisio, “Definition, ...
  • C. U. Smith and L. G. Williams, “More new software ...
  • C. U. Smith and L. G. Williams, “New software performance ...
  • M. Tufano, F. Palomba, G. Bavota, M. Di Penta, R. ...
  • H. Mumtaz, M. Alshayeb, S. Mahmood, and M. Niazi, “A ...
  • T. Arendt and G. Taentzer, “UML model smells and model ...
  • E. Doğan and E. Tüzün, “Towards a taxonomy of code ...
  • F. Palomba, D. A. Tamburri, A. Serebrenik, A. Zaidman, F. ...
  • K. A. Qamar, E. Sülün, and E. Tüzün, “Towards a ...
  • T. Sharma, M. Fragkoulis, and D. Spinellis, “Does your configuration ...
  • T. Sharma, “Presentation smells: How not to prepare your conference ...
  • F. Hermans, M. Pinzger, and A. Van Deursen, “Detecting and ...
  • B. Karwin, “SQL Antipatterns: Avoiding the pitfalls of database programming,” ...
  • D. Almeida, J. C. Campos, J. Saraiva, and J. C. ...
  • A. Carette, M. A. A. Younes, G. Hecht, N. Moha, ...
  • M. Ghafari, P. Gadient, and O. Nierstrasz, “Security smells in ...
  • M. Stijlaart and V. Zaytsev, “Towards a taxonomy of grammar ...
  • N. Kryvinska, M. Greguš, and S. Fedushko, “Developments in Information ...
  • K. Alkharabsheh, Y. Crespo, E. Manso, and J. A. Taboada, ...
  • M. V. Mäntylä and C. Lassenius, “Subjective evaluation of software ...
  • A. Al-Shaaby, H. Aljamaan, and M. Alshayeb, “Bad smell detection ...
  • M. Mantyla, “Bad smells in software-a taxonomy and an empirical ...
  • A. Kaur, “A systematic literature review on empirical analysis of ...
  • A. Kaur, S. Jain, S. Goel, and G. Dhiman, “WITHDRAWN: ...
  • F. Sabir, F. Palma, G. Rasool, Y. G. Guéhéneuc, and ...
  • R. Marticorena, C. López, and Y. Crespo, “Extending a taxonomy ...
  • P. Khamkhiaw, C. Doungsa-ard, and P. Phannachitta, “The Source Code ...
  • M. S. Haque, J. Carver, and T. Atkison, “Causes, impacts, ...
  • M. Martin and R. C. Martin, “Agile principles, patterns, and ...
  • W. C. Wake, “Refactoring workbook.” Addison-Wesley Professional, ۲۰۰۴ ...
  • G. Saranya, D. Mishra, V. Srikar, C. Abhilash, and S. ...
  • S. Jain and A. Saha, “Rank-based univariate feature selection methods ...
  • L. Bamizadeh, B. Kumar, A. Kumar, and S. Shirwaikar, “Design ...
  • Z. Yu and V. Rajlich, “Hidden dependencies in program comprehension ...
  • S. McConnell, “Code complete.” Pearson Education, ۲۰۰۴ ...
  • M. Alharbi and M. Alshayeb, “A Comparative Study of Automated ...
  • T. Mens and T. Tourwé, “A survey of software refactoring,” ...
  • نمایش کامل مراجع