شماره ركورد
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 handling, data preparation, reporting, and lightweight system integration. These scripts are often developed under time constraints and evolve in an ad hoc manner, leading to the accumulation of technical debt, such as inconsistent formatting, lint violations, high cyclomatic complexity, and monolithic functions. These factors diminish maintainability and elevate both the cost and 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, standardized formatting, and post-refactoring verification into a repeatable workflow. The framework incorporates established static analysis and refactoring tools, including code formatters, linters, and complexity analyzers. It generates machine-readable artifacts that document the configuration, detected issues, applied transformations, and pre- and post-quality deltas, ensuring reproducibility and auditability. A prioritization policy is presented to direct refactoring efforts toward scripts with the highest maintainability risk by combining complexity indicators and static diagnostics. The proposed approach is evaluated on a corpus of automation scripts, with pre- and post-refactoring results compared using lint and complexity metrics. The findings demonstrate substantial improvements in code quality, including the elimination of lint violations at the corpus level and significant reductions in cyclomatic complexity and 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