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

    انسيه عليمرداني

  • عنوان
    تأثير بازسازي بر كيفيت كد با در نظر گرفتن معيارهاي كد منبع
  • مقطع تحصيلي
    كارشناسي ارشد
  • رشته تحصيلي
    مهندسي كامپيوتر
  • سال تحصيل
    1399
  • تاريخ دفاع
    1402/07/12
  • استاد راهنما
    دكتر سعيد پارسا
  • دانشكده
    كامپيوتر
  • چكيده
    هدف اصلي بازسازي نرمافزار بهبود ساختار و كيفيت نرم‌افزار بدون تغيير عملكرد آن است. با اعمال بازسازي در مكان‌هاي مناسب، مي‌توان كيفيت يك سيستم نرم‌افزاري را افزايش داد. از اين‌رو، با استفاده از رويكردهاي مبتني بر جستوجو مي‌توان دنباله بازسازي بهينه براي بهبود كيفيت سيستم نرم‌افزاري را شناسايي كرد. در حوزه مهندسي نرم‌افزار مبتني بر جست‌وجو، از انواع مختلف بازسازي، سنجه‌هاي نرم‌افزار و الگوريتم‌هاي بهينه‌سازي مبتني بر جست‌وجو براي خودكارسازي فرآيند بهبود كيفيت نرم‌افزار استفاده مي‌شود. براي يافتن توالي مناسب از بازسازي‌ها، مي‌توان از الگوريتم‌هاي بهينه‌سازي مبتني بر جست‌وجو استفاده كرد. در زمينه مهندسي نرم‌افزار مبتني بر جست‌وجو، مشكلاتي وجود دارد كه نيازمند مطالعه و پژوهش بيشتري در اين حوزه است. به عبارت ديگر، بايد روش‌هاي بهينه‌سازي چندهدفه و همچنين معيارهاي مختلف براي اندازه‌گيري كيفيت نرم‌افزار، مورد بررسي و ارزيابي قرار گيرند . پژوهش انجام شده در اين پايان‌نامه بررسي حوزه تحقيقاتي مهندسي نرم‌افزار مبتني بر جست‌وجو و آزمايش روش‌هايي براي خودكارسازي بازسازي و سنجش كيفيت نرم‌افزار با استفاده از الگوريتم‌هاي بهينه‌سازي است. به‌منظور آزمايش روش‌هاي مختلف بهينه‌سازي براي بهبود كيفيت نرم‌افزار، يك ابزار بازسازي خودكار توسعه داده شده است. با استفاده از اين ابزار، كد منبع نرم‌افزار به‌عنوان ورودي سامانه براي اعمال انواع مختلف بازسازي و سپس بهبود كيفيت نرم‌افزار مورداستفاده قرار ميگيرد. از سه الگوريتم بهينه‌سازي چندهدفه RNSGA-III، UNSGA-III و AGEMOEA براي بهبود كيفيت نرم‌افزار استفاده شده است. نه معيار مختلف به‌عنوان اهداف كيفيتي، براي بازسازي خودكار كد منبع مورد استفاده قرارگرفته است و روشي براي خودكارسازي فرآيند بازسازي ارائه شده است. اين ابزار بر روي پنج پروژه متن‌باز جاوا آزمايش و ارزيابي شده است. الگوريتم‌هاي پيشنهادي با يك الگوريتم تكاملي چند هدفه ديگر مقايسه شده و عملكرد بهتر آن‌ها مشاهده مي‌شود. تجزيه‌وتحليل آزمايش‌هاي ما نشان مي‌دهند كه الگوريتم‌هاي پيشنهادي، كيفيت نرم‌افزار را بهبود مي‌دهند و مي‌توان از آنها در زمينه بازسازي مبتني بر جست‌وجو استفاده كرد.
  • تاريخ ورود اطلاعات
    1402/09/05
  • عنوان به انگليسي
    Impact of refactoring on quality of code considering the source code metrics
  • تاريخ بهره برداري
    10/3/2024 12:00:00 AM
  • دانشجوي وارد كننده اطلاعات

    انسيه عليمرداني

  • چكيده به لاتين
    The main goal of software reconstruction is to improve the structure and quality of the software without changing its functionality. By applying refactoring in appropriate places, the quality of a software system can be increased. Therefore, by using search-based approaches, the optimal reconstruction sequence can be identified to improve the quality of the software system. In the field of search-based software engineering, various types of reconstruction, software metrics and search-based optimization algorithms are used to automate the software quality improvement process. Search-based optimization algorithms can be used to find the appropriate sequence of reconstructions. In the field of search-based software engineering, there are problems that require more study and research in this field. In other words, multi-objective optimization methods as well as different criteria for measuring software quality should be investigated and eva‎luated. The research carried out in this thesis is to investigate the research field of software engineering based on searching and testing methods for automating the reconstruction and measuring the quality of software using optimization algorithms. In order to test different optimization methods to improve software quality, an automatic reconstruction tool is developed. By using this tool, the software source code is used as system input to apply different types of reconstruction and then improve the quality of the software. Three multi-objective optimization algorithms RNSGA-III, UNSGA-III and AGEMOEA have been used to improve software quality. Nine different criteria are used as quality objectives for automatic reconstruction of the source code, and a method for automating the reconstruction process is presented. This tool has been tested and eva‎luated on five Java open source projects (tabula-java, jopenchart, water-simulator, jvlt, commons-codec) and the statistical analysis of our tests shows that the proposed algorithms improve the quality of the software and can used them in search-based reconstruction.
  • كليدواژه هاي فارسي
    بازسازي , مهندسي نرم‌افزار مبتني بر جست‌وجو , الگوريتم تكاملي چندهدفه , سنجه‌هاي كيفيت نرم‌افزار
  • كليدواژه هاي لاتين
    Refactoring , Search based software engineering , Multi-objective evolutionary algorithm , Software quality metrics
  • Author
    Ensiyeh Alimardani
  • SuperVisor
    Saeed Parsa