طراحی و پیاده سازی چارچوب تولید توصیفگرهای نوعدار برای زیرگراف های GraphQL در زبان Go با هدف کاهش خطاهای زمان اجرا
سال انتشار: 1405
نوع سند: مقاله کنفرانسی
زبان: فارسی
مشاهده: 45
فایل این مقاله در 16 صفحه با فرمت PDF قابل دریافت می باشد
- صدور گواهی نمایه سازی
- من نویسنده این مقاله هستم
استخراج به نرم افزارهای پژوهشی:
شناسه ملی سند علمی:
CELCONF07_059
تاریخ نمایه سازی: 11 شهریور 1405
چکیده مقاله:
رشد روزافزون کاربرد فناوری بلاکچین و گسترش استفاده از زیرگراف ها در بستر The Graph، نیاز به توسعه ابزارهایی با قابلیت اطمینان بیشتر برای دسترسی به داده های ایندکس شده را افزایش داده است. در اغلب برنامه های توسعه یافته با زبان Go، درخواست های GraphQL به صورت رشته ای تعریف می شوند؛ رویکردی که موجب می شود بسیاری از خطاهای مرتبط با نام فیلدها، نوع داده ها و ساختار درخواست ها تنها در زمان اجرا آشکار شوند. این مسئله علاوه بر افزایش هزینه توسعه، فرآیند نگهداری و به روزرسانی نرم افزار را نیز با چالش مواجه می کند. در این پژوهش چارچوبی برای تولید خودکار توصیفگرهای نوعدار از روی طرحواره زیرگراف ارائه شده است که با استفاده از قابلیت درون نگری GraphQL، ساختار موجودیت ها را استخراج کرده و کدهای متناظر را در زبان Go تولید می کند. در فرآیند توسعه، مدل میانی برای نمایش ساختار طرحواره ایجاد شده و روابط میان موجودیت ها با در نظر گرفتن چرخه های احتمالی مدیریت شده است. به منظور ارزیابی، چارچوب بر روی یک زیرگراف واقعی شامل ۶۸ نوع موجودیت و ۱۱۵۵ فیلد اجرا شد. نتایج نشان داد بیش از ۹۳ درصد فیلدها به توصیفگرهای نوعدار تبدیل شده و فرآیند تولید کد برای یک طرحواره شامل ۵۰۰ موجودیت در زمانی کمتر از ۵۰ میلی ثانیه انجام می شود. همچنین خروجی تولیدشده از قابلیت کامپایل برخوردار بوده و بخشی از خطاهای رایج پیش از اجرا شناسایی می شوند. یافته ها نشان می دهد که چارچوب پیشنهادی می تواند با انتقال بخشی از خطاهای زمان اجرا به مرحله ی تولید کد، فرایند توسعه را بهبود بخشد. بااین حال، این روش در داده های ارزیابی شده از نظر فنی امکان پذیر است، اما سازگاری فیلدها با موجودیت ها و درستی نوع پاسخ را تضمین نمی کند و کارایی انتها-به-انتها (شامل زمان شبکه و پردازش JSON) اندازه گیری نشده است. همچنین، ویژگی هایی مانند Mutation، Subscription، Directive و Variable در نسخه ی فعلی پشتیبانی نمی شوند.
نویسندگان
فاطمه جوکار
گروه مهندسی کامپیوتر، دانشکده مهندسی کامپیوتر و برق، دانشگاه ملی مهارت (فنی و حرفه ای شهید باهنر)، شیراز، ایران،(مسئول)
علیرضا دهقانیان
گروه مهندسی کامپیوتر، دانشکده مهندسی کامپیوتر و برق، دانشگاه ملی مهارت (فنی و حرفه ای شهید باهنر)، شیراز، ایران