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

    محمد جمعه

  • عنوان
    بازسازي اسكريپت‌هاي اتوماسيون پايتون با استفاده از يك چارچوب ساخت يافته و وظيفه محور
  • مقطع تحصيلي
    كارشناسي ارشد
  • رشته تحصيلي
    مهندسي كامپيوتر
  • سال تحصيل
    1402
  • تاريخ دفاع
    1404/12/6
  • استاد راهنما
    آقاي دكتر مهرداد آشتياني
  • استاد مشاور
    ندارد
  • دانشكده
    مهندسي كامپيوتر
  • چكيده
    اسكريپت‌هاي خودكارسازي پايتون به‌طور گسترده براي ساده‌سازي فعاليت‌هاي عملياتي روزمره، از جمله مديريت فايل‌ها، آماده‌سازي داده‌ها، گزارش‌گيري و يكپارچه‌سازي سبك سامانه‌ها به كار مي‌روند. اين اسكريپت‌ها غالباً تحت محدوديت زماني توسعه مي‌يابند و به‌صورت موردي و بدون ساختار تكامل پيدا مي‌كنند؛ در نتيجه بدهي فني در قالب ناهماهنگي در قالب‌بندي، نقض قواعد لينتينگ، پيچيدگي چرخه‌اي بالا و توابع يكپارچه و بزرگ انباشته مي‌شود. اين عوامل نگهداشت‌پذيري را كاهش داده و هزينه و ريسك تغييرات بعدي را افزايش مي‌دهند. اين پايان‌نامه يك چارچوب ساختاريافته و وظيفه‌محور براي بازآرايي (Refactoring) اسكريپت‌هاي خودكارسازي پايتون ارائه مي‌كند كه از طريق يك خط لوله مبتني بر سنجه‌ها، اندازه‌گيري خط پايه، اولويت‌بندي، تبديل‌هاي ابزارمحور، استانداردسازي قالب‌بندي و راستي‌آزمايي پس از بازآرايي را در قالب يك جريان كاري تكرارپذير به هم پيوند مي‌دهد. اين چارچوب با به‌كارگيري ابزارهاي تثبيت‌شده تحليل ايستا و بازآرايي—از جمله قالب‌بندها، لينترها و تحليل‌گرهاي پيچيدگي—مصنوعات (Artifacts) ماشين‌خوان توليد مي‌كند كه پيكربندي، مسائل شناسايي‌شده، تبديل‌هاي اعمال‌شده و تغييرات كيفيت پيش و پس از بازآرايي را مستندسازي كرده و بدين ترتيب تكرارپذيري و قابليت مميزي را تضمين مي‌كند. همچنين، يك سياست اولويت‌بندي براي هدايت تلاش‌هاي بازآرايي به سوي اسكريپت‌هاي داراي بيشترين ريسك نگهداشت‌پذيري ارائه مي‌شود كه با تركيب شاخص‌هاي پيچيدگي و تشخيص‌هاي تحليل ايستا عمل مي‌كند. رويكرد پيشنهادي بر روي يك مجموعه‌داده از اسكريپت‌هاي خودكارسازي ارزيابي شده و نتايج پيش و پس از بازآرايي با استفاده از سنجه‌هاي لينت و پيچيدگي مقايسه مي‌گردد. يافته‌ها بهبودهاي چشمگير در كيفيت كد را نشان مي‌دهند، از جمله حذف كامل نقض‌هاي لينت در سطح مجموعه و كاهش‌هاي قابل توجه در پيچيدگي چرخه‌اي و ريسك نگهداشت‌پذيري در اسكريپت‌هاي با اولويت بالا، در حالي‌كه دروازه‌هاي راستي‌آزمايي براي تشخيص پسرفت‌ها حفظ شده‌اند. در مجموع، اين پايان‌نامه نشان مي‌دهد كه بازآرايي اسكريپت‌هاي خودكارسازي مي‌تواند از يك فعاليت پاك‌سازي غيررسمي به يك فرايند مهندسي مبتني بر شواهد و تكرارپذير تبديل شود كه براي محيط‌هاي عملياتي مناسب است.
  • تاريخ ورود اطلاعات
    1405/02/02
  • عنوان به انگليسي
    REFACTORING PYTHON AUTOMATION SCRIPTS USING A STRUCTURED, TASK-SPECIFIC FRAMEWORK
  • تاريخ بهره برداري
    2/25/2027 12:00:00 AM
  • دانشجوي وارد كننده اطلاعات

    محمد جمعه

  • چكيده به لاتين
    Python automation scripts are commonly employed to streamline routine operational tasks, including file han‎dling, data preparation, reporting, an‎d lightweight system integration. These scripts are often developed under time constraints an‎d evolve in an ad hoc manner, leading to the accumulation of technical debt, such as inconsistent formatting, lint violations, high cyclomatic complexity, an‎d monolithic functions. These factors diminish maintainability an‎d elevate both the cost an‎d risk of subsequent changes. This thesis introduces a structured, task-specific framework for refactoring Python automation scripts through a metrics-guided pipeline that links baseline measurement, prioritization, tool-assisted transformation, stan‎dardized formatting, an‎d post-refactoring verification into a repeatable workflow. The framework incorporates established static analysis an‎d refactoring tools, including code formatters, linters, an‎d complexity analyzers. It generates machine-readable artifacts that document the configuration, detected issues, applied transformations, an‎d pre- an‎d post-quality deltas, ensuring reproducibility an‎d auditability. A prioritization policy is presented to direct refactoring efforts toward scripts with the highest maintainability risk by combining complexity indicators an‎d static diagnostics. The proposed approach is eva‎luated on a corpus of automation scripts, with pre- an‎d post-refactoring results compared using lint an‎d complexity metrics. The findings demonstrate substantial improvements in code quality, including the elimination of lint violations at the corpus level an‎d significant reductions in cyclomatic complexity an‎d maintainability risk in high-priority scripts, while maintaining verification gates to detect regressions. In summary, this thesis shows that automation-script refactoring can be transformed from an informal cleanup activity into an evidence-driven, repeatable engineering process suitable for operational environments.
  • كليدواژه هاي فارسي
    اسكريپت هاي اتوماسيون پايتون , ريفكتورينگ خودكار , ريفكتورينگ مبتني بر معيارها , كيفيت نرم افزار , پايپ لاين ريفكتورينگ
  • كليدواژه هاي لاتين
    Python automation scripts , automated refactoring , metrics-guided refactoring , software quality , refactoring pipeline
  • Author
    Mohammed Taha Jumaah
  • SuperVisor
    Dr. Mehrdad Ashtiani