آنچه که بین تمام علوم مشترک است، حجم وسیعی از اطلاعات و داده به شکلهای مختلف است، که همراه با پیشرفت و وسعت علوم بزرگتر و ارزشمندتر می شود. با رشد سریع علوم کامپیوتر و استفاده از آن در چند دهه اخیر، تقریبا همه سازمانها در پروژه های مختلف خود حجم عظیمی داده در پایگاههای داده ذخیره می کنند. این سازمانها و کسانی که به نوعی در پروژه ها سهیم هستند به فهم این داده ها و بهتر بگوییم کشف دانش نهفته در آن نیازمندند. این نیاز، باعث بهوجود آمدن حوزه جدید میان رشتهای کشف دانش و داده کاوی[1] شده است، که حوزه های مختلف همچون پایگاه داده، آمار، یادگیری ماشین را برای کشف دانش ارزشمند نهفته در اطلاعات و داده ها را با هم تلفیق می کند. اصطلاح Data Mining همانطور که از ترجمه آن به معنی داده کاوی مشخص میشود، به مفهوم استخراج اطلاعات نهان، و یا الگوها وروابط مشخص در حجم زیادی از دادهها در یک یا چند بانک اطلاعاتی بزرگ است.
هر نرمافزار در طول فرایندتولید و پس از آن، انبوهی از اطلاعات و مستندات دارد که قابل کاوش و استفاده مفید است. این داده ها معمولا در پایگاه داده هایی بهنام مخازن نرمافزاری[2] ذخیره و نگهداری میشوند. مخازن نرمافزاری نمایش دقیقی از مسیرتولید یک سیستم نرمافزاری ارائه میدهند]1 .[هدف ازکاوش مخازن نرمافزاری[3]MSR استفاده هوشمند از تحلیل داده های نهفته در آنها برای کمک به تصمیم گیری های بهتر و سریعتر در پروژه تولید و پشتیبانی آنها است. آنچه که در اینجا مورد توجه این تحقیق است، استخراج اطلاعات مهم برای همه ذینفعان پروژه نرمافزاری است. این اطلاعات از مجموعه داده های مرتبط با خطاهای رخ داده در طول تولید و پشتیبانی پروژه استخراج می شود.
در سالهای گذشته مدلهای مختلفی با بهره گرفتن از الگوریتمهای داده کاوی، تشابه متن و دستهبندی و خوشهبندی داده ها ارائه شده. اما از آنجا که جستجو و استخراج اطلاعات از میان داده های متنی نیازمند روشی هوشمند برای تطبیق جنبه های معنایی و دستوری است، نیاز به مدلهایی که از الگوریتمها معنایی استفادهکنند وجود دارد.در تحقیقهای مورد مطالعه این نیاز حس می شود.
سعی بر این شده که با بهره گرفتن از الگوریتم معنایی برپایه مجموعه تشابه جملات[4]بر پایه LCS[5]]3[ و تشابه کلمات (SOC-PMI[6] )]3[، روی مستندات ذخیره شده در مخازن خطای نرمافزار، مانند راه حلهای ارائه شده برای خطاهای مشابه مدلهای قبلی را تکمیلکرده و جوابی بهینه و سریعتر برای خطای پیش آمده پیدا کنیم. همچنین میتوان زمانی تخمینی نیز برای تصحیح خطا پیش بینی کرد تا راهنمای تیم توسعه و ذینفعان دیگر نرمافزار باشد. همچنین دید بهتری نسبت به روند پیشرفت و تکامل نرمافزار مورد نظر ارائه شود.
2.1. تعریف مسئله
یکی از مراحل مهم و اساسی در مهندسی و تولید نرمافزار مرحله یافتن و رفع خطاهای موجود در نرمافزار است. این مرحله از تولید نرمافزار جزء وقتگیرترین و پرهزینه ترین مراحل به حساب میآید]4[. سالهاست که دانش داده کاوی و استخراج دانش به کمک مهندسین نرمافزار آمدهاست. رفع خطا در فرایند تولید بسته به مدل توسعه نرمافزار چندین بار انجام میگیرد. خطاها و مشکلات برطرف شده معمولا به روشهای مختلف تحت عنوان مخازن خطای نرم افزار، مستندسازی و ذخیره می شود. این مخازن منابع عظیم دانش هستند، که کمک بزرگی در تسریع زمان تولید نرمافزار و پایینآوردن هزینهها خواهدبود]5[. روشهایی نیازاست که این دانش و اطلاعات مفید استخراج شود. در این تحقیق روشی برای سرعت بخشیدن به رفعخطای جدید با بهره گرفتن از اطلاعات موجود در مخازن خطای نرمافزار، ارائه شدهاست. مدلهای زیادی تا بهحال ارائه شده که یا مکمل هم بوده یا از الگوریتمهای جدید استفاده شدهاست. مدلهای پیشنهادی با بهره گرفتن از تشابه متن همگی از الگوریتمهای معمولی و ساده استفاده کرده اند. در این مدل ها به این نکته مهم کمتر توجه شده که مخازن حجم بالا و پیچیدهای از اطلاعات را شامل میشوند، که بعضاً تشابه بین کلمات و معانی مختلف یک جمله نتیجه گیری را سختتر می کند. پس نیاز به الگوریتمهای معنایی در بررسی تشابه متن احساس می شود. همچنین باید به این نکته مهم توجه کرد که الگوریتم معنایی انتخاب شده بهینه است و قادر باشد میان این حجم اطلاعات که از سوی کاربران مختلف ثبت می شود، بهترین جواب با تشابه بیشتر را انتخاب کند. اگرچه تا بهحال روشهای بسیاری برای تکمیل مخازن خطا و استفاده از دانش نهفته در آن صورت گرفته اما میتوان گفت که ضرورت اهمیت به تشابه معنایی بین داده ها در نظر گرفته نشده است. در این تحقیق سعی شده که این ضعف در جستجو و بهره گیری دانش نهفته در این مخازن داده پوشش داده شود.
مدل ارائه شده در اینجا ابتدا لیستی از خطاهای مشابه خطای جدید با بهره گرفتن ازیک الگوریتم تشابه معنایی مناسب، با توجه به اطلاعات متنی ذخیرهشده ارائه میدهد. در مرحله بعد این خطاها براساس چرخه عمر خطا با بهره گرفتن از روش خوشهبندی K-means، خوشه بندی میشوند.
همچنین میانگین تشابه هر دسته به خطای جدید، گروه منتخب را مشخص می کند. خطاهای موجود در این گروه، راه حلهای پیشنهادی برای هر کدام، کمکی برای تسهیل و تسریع در رفع خطا است و میانگین طولعمر گروه تخمینی بر پیچیدگی و زمان حلمشکل خواهد بود.
فرم در حال بارگذاری ...