عنوان مقاله :
توصيهگر راهحل استثنائات در محيط يكپارچه ايجاد نرمافزار
پديد آورندگان :
امينتبار ، وحيد داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ - داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ , حيدرنوري ، عباس داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ - داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ
كليدواژه :
محيط يكپارچه ايجاد نرم افزار , سيستم هاي توصيه گر , قطعه كد , Stack Overflow , افزونه Eclipse
چكيده فارسي :
در فرآيند ايجاد نرمافزار، استثناءها اجتنابناپذير هستند. وليكن، استثناءها در بسياري از موارد توسط برنامهنويسان ديگري نيز تجربه شدهاند و به احتمال زياد در فضاي مجازي راهحل آنها موجود است. با رخ دادن يك استثناء در زمان اجرا، معمولاً يك پيغام خطا و موارد بالاي پشته فراخواني ، نمايش داده ميشوند. با گسترش استفاده از سايتهاي پرسش و پاسخ برنامهنويسي مانند Stack Overflow و يا سايتهاي حاوي كدهاي متنباز مانند Source Forge، برنامهنويسان اغلب براي پيدا كردن راهحل يك استثناء، با استفاده از مرورگر و موتورهاي جستوجو به دنبال مشكلات و راهحلهاي مشابه ميگردند. در اينجا شكاف بين محيط ايجاد نرمافزار و مرورگر وجود دارد. همچنين جستوجوي دستي، تمام اطلاعات كد برنامهنويس را دارا نميباشد و كاري زمانبر است. در اين مقاله قصد آن داريم تا Exception Tracer را معرفي نماييم. در اين روش با استفاده از پشته فراخواني مربوط به استثناء و كد برنامهنويس ابتدا در پروژههاي Source Forge فايلهاي مرتبط بازيابي ميشوند و در ادامه با ساخت گراف GROUM از كد برنامهنويس و فايلهاي مرتبط، قطعه كدها رتبهبندي ميشوند و بعد از تغيير نام متغيرهاي آنها به زمينه برنامهنويس، قطعه كدهايي كه ميتوانند حاوي راه حل استثناء باشند، به او پيشنهاد داده ميشوند. GROUM گرافي است كه در آن توالي فراخواني متدها و وابستگي دادهاي بين آنها را شامل ميشود و نتيجه بهتري نسبت به جستوجوي متني و يا درخت نحو ميدهد. اين روش،علاوه بر قطعه كد، مباحثههاي مرتبط را نيز از Stack Overflow استخراج ميكند و به برنامهنويس نمايش ميدهد. روش پيشنهادي اين مقاله، به صورت يك افزونه Eclipse پيادهسازي شده است. دقت اين روش با استفاده از تعدادي از نمونه كدهاي مربوط به كتابخانههاي Apache جاوا اندازهگيري شده است. در ارزيابيهاي انجام شده، در 75 درصد مواقع، راهحل استثناء رخداده ، در 5 نتيجه ابتدايي وجود دارد. علاوه بر محاسبه دقت، ميزان صرفهجويي زماني نسبت به استفاده ساده از مرورگر نيز از طريق مطالعه كاربران سنجيده شده است. طبق اين ارزيابي، ميزان صرفهجويي زماني، در حدود 38 درصد است.
عنوان نشريه :
علوم رايانش و فناوري اطلاعات
عنوان نشريه :
علوم رايانش و فناوري اطلاعات