• شماره ركورد
    25295
  • پديد آورنده

    رضانوذري

  • عنوان
    ارائه روشي براي شناسايي خودكار نشانه هاي بد در معماري ميكروسرويس با هدف بهبود قابليت نگهداري و انعطافپذيري
  • مقطع تحصيلي
    كارشناسي ارشد
  • رشته تحصيلي
    مهندسي نرم افزار
  • سال تحصيل
    1395
  • تاريخ دفاع
    3 آذر 99
  • استاد راهنما
    دكتر مهرداد آشتياني
  • استاد مشاور
    دكتر محمد عبداللهي ازگمي
  • دانشكده
    كامپيوتر
  • چكيده
    امروزه با رشد روزافزون استفاده از نرم‌افزارها و نياز به تغيير هرچه بيشتر و سريع‌تر نرم‌افزار مشكلات و محدوديت‌هاي موجود بسيار سريع‌تر از گذشته نمايان مي‌شوند. با رشد تعداد كاربران، مسائل و محدوديت‌هاي نرم‌افزار به‌سرعت به چشم آمده و دردسرساز مي‌گردند. ضعف انساني در كدنويسي، طراحي و همچنين محدوديت زمان كه امروزه در توسعه نرم‌افزارهاي تحت شبكه بسيار اهميت دارد باعث ايجاد مشكلاتي تحت عنوان نشانه‌هاي بد در كد نرم‌افزار مي‌شود. براي حل اين نشانه‌هاي بد از روشي تحت عنوان بازآرايي كد استفاده مي‌شود كه اين امر به‌صورت خودكار و بدون دخالت انسان قابل انجام خواهد بود. به اين عمل بازآرايي خودكار كد گفته مي‌شود. در اين كار با چالش‌هاي بسياري روبرو هستيم كه با تلاش براي تحليل و طراحي هرچه بهتر الگوريتم‌هاي خودكار بازآرايي كد مي‌توان درصد موفقيت را تا حد بسيار زيادي افزايش داد. اين امر براي اعمال شدن بر روي معماري‌هاي جديد مانند ميكروسرويس بسيار مشكل‌تر خواهد بود. ما در اين پژوهش راهي را معرفي كرده‌ايم كه چند نوع از شايع‌ترين انواع اين نشانه‌هاي بد را مانند نشانه‌هاي ثابت همچون نسخه و زمان قطع و نشانه‌هاي پيچيده‌تر مانند ميكروسرويس بزرگ و نداشتن گذرگاه را در معماري ميكروسرويس با استفاده از بررسي گزارش تشخيص مي‌دهيم. براي تشخيص اين موضوع به اين شكل عمل خواهد شد كه ابتدا بايد با روشي به جمع‌آوري گزارش ارتباطي بين سرويس‌ها مشغول شويم و با درنظرگرفتن چند سرويس بررسي‌كننده براي هر نوع از گزارش‌ها به نتايج پيشنهادي از كشف نشانه‌هاي بد در ميكروسرويس‌ها برسيم. اين نشانه‌هاي بد در نوع خود مهم‌ترين و رايج‌ترين مواردي هستند كه قابل‌شناسايي بوده‌اند. در اين مطالعه با پيشنهاد اضافه‌كردن ذخيره‌كننده گزارش به هر ميكروسرويس ما مي‌توانيم با تحليل داده‌ها مشكلات احتمالي موجود در نرم‌افزار را كشف و آن‌ها را به‌صورت خودكار پيشنهاد بدهيم و در صورت مورد تأييد بودن اصلاح شوند. سپس اين مدل پيشنهادي را بر روي نرم‌افزارهايي با معماري ميكروسرويس تست كرديم و 64 درصد (9 عدد از 14 مورد) در تشخيص نشانه‌هاي بدي كه از قبل مي‌دانستيم موفق بوده‌ايم.
  • تاريخ ورود اطلاعات
    1400/07/10
  • عنوان به انگليسي
    An approach for the automatic bad smell detection of Microservices code for the improvement of maintainability and flexibility
  • تاريخ بهره برداري
    11/24/2021 12:00:00 AM
  • دانشجوي وارد كننده اطلاعات

    رضا نوذري

  • چكيده به لاتين
    Nowadays with growth in the user scale of online software, bugs and slowness showed much more than in the past. These bugs and bad smells generated because of poor development or lack of time. We use refactoring and automatic refactoring to solve these problems fast and effectively. Bad smells are the main reason for slow code and sometimes failures in software businesses. Web services evolve overtime to fix bugs or update and add new features. A possible solution is to refactor the Web services interface into different modules that help the user quickly identifying relevant operations. Nowadays Microservices are growing very fast and because of speed developers may cause some bad smells in code and design. Automatic refactoring is the main solution for this kind of bad smell. In this article, we suggested practical solutions for microservice based software. In this research, we will suggest solutions for Microservices smells as automatic refactoring methods by log analysis. We gather logs in every service and analyze them to find smells. We suggest to add a logger in every service and analyze them with some algorithms. This method could find the most important smells in microservices. We suggest solutions to domain experts to apply them in code. We analyze logs and tested this method on microservices and find 64% (9 out of 14) of bad smells that we know from the past.
  • كليدواژه هاي فارسي
    نشانه‌هاي بد , بازآرايي كد , بازآرايي خودكار كد , ميكروسرويس