بازسازی خودکار کد زبان اصلی نرم افزار برای رفع پادالگوهای زبان شناختی مربوط به توابع
محل انتشار: مجله علوم رایانشی، دوره: 9، شماره: 4
سال انتشار: 1403
نوع سند: مقاله ژورنالی
زبان: فارسی
مشاهده: 138
فایل این مقاله در 26 صفحه با فرمت PDF قابل دریافت می باشد
- صدور گواهی نمایه سازی
- من نویسنده این مقاله هستم
استخراج به نرم افزارهای پژوهشی:
شناسه ملی سند علمی:
JR_CSJI-9-4_003
تاریخ نمایه سازی: 10 اسفند 1403
چکیده مقاله:
امروزه معیارهای فراوانی برای سنجش کیفیت نرم افزار وجود دارد که هر کدام از جهتی به سنجش آن می پردازند. وجود یا عدم وجود پادالگوها می تواند معیاری برای سنجش کیفیت کد زبان اصلی نرم افزار باشد. برخی پادالگوهای شناخته شده با توجه به تاثیرشان بر روی کارایی، اطمینان پذیری و سایر معیارهای مرتبط مطالعه می شوند. یکی از این معیارها، خوانایی کد زبان اصلی نرم افزار است. سازنده یا سازندگان یک برنامه تنها کسانی نیستند که به توسعه آن می پردازند. به همین دلیل رعایت نکاتی که فهمیدن چگونگی کارکرد برنامه را برای توسعه دهندگان احتمالی ساده تر می کند ضروری است. این مقاله به بررسی پادالگوهای مرتبط با نام گذاری توابع و ارائه راه حل برای رفع خودکار آن ها می پردازد. به پادالگوهایی که مربوط به نام گذاری توابع، متغیرها و سایر اعضا در کد زبان اصلی نرم افزار و همچنین مستندات آن هستند پادالگوهای زبان شناختی گفته می شود. در این مقاله روشی برای تشخیص و رفع خودکار پادالگوهای زبان شناختی به کمک درخت نحو انتزاعی ارائه می شود. سپس روش ارائه شده بر روی کد زبان اصلی چهار نرم افزار متن باز که در مجموع بیش از ۱۵۰۰۰۰ خط کد دارند، آزمایش می شود. در نتیجه این آزمایش ها ۵۱ پادالگو به درستی شناسایی و اصلاح می شوند. اصلاح شدن به گونه ای است که حدود ۵۰ خط کد به مجموعه کد ها اضافه می کند. مزیت این پژوهش نسبت به پژوهش های مشابه، ارائه روشی برای رفع پادالگوها و اعمال تغییرات در کد زبان اصلی است. زیرا بسیاری از پژوهش ها تنها به تشخیص پادالگوهای زبان شناختی اکتفا کرده اند. همچنین، تاثیری که این بازسازی بر روی تعداد خطوط کد زبان اصلی می گذارد نیز بررسی شده است.
کلیدواژه ها:
نویسندگان
مهرداد آشتیانی
استادیار، دانشکده مهندسی کامپیوتر، دانشگاه علم و صنعت، تهران، ایران
محمد امین شهیدی نشرودکلی
دانشجوی کارشناسی ارشد، مهندسی کامپیوتر، دانشگاه علم و صنعت، تهران، ایران
فاطمه بخشی
کارشناسی ارشد مهندسی کامپیوتر، دانشگاه علم و صنعت، تهران، ایران
مراجع و منابع این مقاله:
لیست زیر مراجع و منابع استفاده شده در این مقاله را نمایش می دهد. این مراجع به صورت کاملا ماشینی و بر اساس هوش مصنوعی استخراج شده اند و لذا ممکن است دارای اشکالاتی باشند که به مرور زمان دقت استخراج این محتوا افزایش می یابد. مراجعی که مقالات مربوط به آنها در سیویلیکا نمایه شده و پیدا شده اند، به خود مقاله لینک شده اند :