پایان نامه کارشناسی ارشد رشته نرم افزار کامپیوتر: مخازن نرم افزاری |
یکی از مراحل مهم و اساسی در مهندسی و تولید نرمافزار مرحله یافتن و رفع خطاهای موجود در نرمافزار است. این مرحله از تولید نرمافزار جزء وقتگیرترین و پرهزینه ترین مراحل به حساب میآید]4[. سالهاست که دانش داده کاوی و استخراج دانش به کمک مهندسین نرمافزار آمدهاست. رفع خطا در فرایند تولید بسته به مدل توسعه نرمافزار چندین بار انجام میگیرد. خطاها و مشکلات برطرف شده معمولا به روشهای مختلف تحت عنوان مخازن خطای نرم افزار، مستندسازی و ذخیره می شود. این مخازن منابع عظیم دانش هستند، که کمک بزرگی در تسریع زمان تولید نرمافزار و پایینآوردن هزینهها خواهدبود]5[. روشهایی نیازاست که این دانش و اطلاعات مفید استخراج شود. در این تحقیق روشی برای سرعت بخشیدن به رفعخطای جدید با بهره گرفتن از اطلاعات موجود در مخازن خطای نرمافزار، ارائه شدهاست. مدلهای زیادی تا بهحال ارائه شده که یا مکمل هم بوده یا از الگوریتمهای جدید استفاده شدهاست. مدلهای پیشنهادی با بهره گرفتن از تشابه متن همگی از الگوریتمهای معمولی و ساده استفاده کرده اند. در این مدل ها به این نکته مهم کمتر توجه شده که مخازن حجم بالا و پیچیدهای از اطلاعات را شامل میشوند، که بعضاً تشابه بین کلمات و معانی مختلف یک جمله نتیجه گیری را سختتر می کند. پس نیاز به الگوریتمهای معنایی در بررسی تشابه متن احساس می شود. همچنین باید به این نکته مهم توجه کرد که الگوریتم معنایی انتخاب شده بهینه است و قادر باشد میان این حجم اطلاعات که از سوی کاربران مختلف ثبت می شود، بهترین جواب با تشابه بیشتر را انتخاب کند. اگرچه تا بهحال روشهای بسیاری برای تکمیل مخازن خطا و استفاده از دانش نهفته در آن صورت گرفته اما میتوان گفت که ضرورت اهمیت به تشابه معنایی بین داده ها در نظر گرفته نشده است. در این تحقیق سعی شده که این ضعف در جستجو و بهره گیری دانش نهفته در این مخازن داده پوشش داده شود.
مدل ارائه شده در اینجا ابتدا لیستی از خطاهای مشابه خطای جدید با بهره گرفتن ازیک الگوریتم تشابه معنایی مناسب، با توجه به اطلاعات متنی ذخیرهشده ارائه میدهد. در مرحله بعد این خطاها براساس چرخه عمر خطا با بهره گرفتن از روش خوشهبندی K-means، خوشه بندی میشوند.
همچنین میانگین تشابه هر دسته به خطای جدید، گروه منتخب را مشخص می کند. خطاهای موجود در این گروه، راه حلهای پیشنهادی برای هر کدام، کمکی برای تسهیل و تسریع در رفع خطا است و میانگین طولعمر گروه تخمینی بر پیچیدگی و زمان حلمشکل خواهد بود.
3-1- پیشینه تحقیقاتی
شاید بتوان گفت که بنیان MSR و نرمافزارهای ردیابیخطا[7]با تولید [8]GNATS در سال1992 نهاده شد. پس از آن نرمافزارهایمتعددی به یاری مهندسی نرم افزار شتافت هاست. در این مدت سعی و اهتمام محققان بر تکمیل مدلها و موتورهایجستجو مورد استفاده در این نرمافزارها بوده است. در سال 2000 مدلی با استفادهاز رگرسیون فازی[9] برای تخمین تعداد خطاهای موجود در نرمافزار ارائهشد]6[. در]5[ همین کار با بهره گرفتن از شبکه هایعصبی انجامشد. درسال 2007 LucasD.Panjerداده کاوی را برای تخمین زمانخطا با مقایسه پنج الگوریتم دستهبندی داده ها مطرح کرد]7[. Suma.V و همکارانش به سراغ روشهای خوشهبندی رفته و ثابتکردند که روش K-mean در میان روشهای مورد بررسی آنها بهینهتر بوده است]8[. CathrinWeiß و همکارانش از روش نزدیکترین همسایه و تشابه جملات با بهره گرفتن از موتورارزیابیLucene[10] استفاده کردند]9[.Lucene خود از SVM و یک مدل بولی[11] برای جستجو و ارزیابی متون استفاده می کند. Nagwani نیزدرمدلهای مختلفی از الگوریتم های دادهکاوی متعددی برای اهداف مختلف استفادهکرد]10[،]11[،]12[. اما همه این روشها یا به جنبه معنایی تشابه متون و کلمات توجه نداشتند. یا برای استخراج ضریب تشابه دو متن از الگوریتمهای مناسب برای این محیط بهره نبردند. الگوریتمهای استفاده شده بیشتر به تاثیر یک متن و یافتن ضریب تشابه آنها با متن کاربرتوجه داشتند، معمولا استاتیک بودند و هرگز به بهرهوری روش در محیط با حجم بالا توجه نداشتند. نوآوری کار تحقیقاتی ارائه شده نسبت به مدلهای قبلی استفاده از یک الگوریتم بهینه با دقت بیشتر در اندازه گیری تشابه میان دو متن است به طوریکه با حجم زیاد مستندات و کلمههای مشابه در مخازن نرمافزاری سازگار باشد. این الگوریتم تشابه جملات و تشابه معنایی بین کلمات را با هم ترکیب می کند. به طوریکه، مشابهترین جملات را، با توضیحات دادهشده برای خطا از سوی کاربر، از میان داده های قبلی در مخزن استخراج کند.
4.1. فرضیه های تحقیق
- مخازن خطای هر نرم افزار منابع ارزشمند دانش هستند.
- اطلاعات ثبت شده در مخازن خطا به پیشبرد سریعتر و کم هزینه تر فرایند تولید نرم افزار کمک می کند
- ثبت روش حل مشکل یا خطا در طول فرایند تولید می تواند به توسعه دهنده پروژه برای حل خطا جدید کمک کند.
- برای پیش بینی قسمتی از زمان انجام پروژه و هزینه آن می توان از این اطلاعات استفاده کرد.
5.1. اهداف تحقیق
از آنجا که در روش ارائه شده در این تحقیق سعی بر آن شده تا کاستیهای موجود در روشهای قبلی به نوعی پوشش داده شود ، بهدنبال بهترین و مناسب ترین الگوریتم برای جستجو و محاسبه تشابه متون و مستندات در یک مخزن با حجمعظیمداده هستیم. به طوریکه با بالارفتن این حجم دچار مشکل پیچیدگیمحاسبه و بالارفتن زمانپاسخگویی نشود. همچنین تشابه بین دو متن باید شامل تشابهمعنایی باشد. بهجز تشابه بین کلمات تشابه به صورت مجموعه کلمات. یعنی جملات باید بررسی شود. با توجهبه مطالب ذکرشده یافته های اصلی این تحقیق را می شود در مطالب زیر خلاصه کرد.
- ارائه یک روش برای کاوش مخازن خطای نرمافزار که کاستیهای روشهای قبلی در اندازه گیری میزان تشابه بین نمونه و خطا را پوششدهد.
- یافتن خطاهای مشابه با خطای جدیدواستفاده از آنها برای تخمین زمان لازم برای رفعخطا
- تعیین میزان پیچیدگی خطای جدیدبا محاسبه میانگین طول عمر خطاهایی با شباهت بیشتر
- استفاده ازراهکارهای رفع خطا با جستجوی خطاهایی با ضریب تشابه بالاتر با خطای جدید
هدف نهایی کاهش هزینه های مالی پروژه های نرمافزاری و تسریع درفرایند مهندسینرمافزار است.
6.1. نوآوری تحقیق
آنچه بیش از همه به عنوان نوآوری در کار و بهبود روشهای گذشته مطرح است:
- استفاده از یک الگوریتم معنایی مناسب بههمراه تشابه خطی در مرحله اول
- استفاده از الگوریتمهای خوشهبندی در مرحله دوم.
در این تحقیق برای بالا بردن دقت و سرعت در استفاده از اطلاعات از الگوریتم پیشرفته تر نسبت به کارهای قبلی استفاده شده است. الگوریتم ترکیبی که به جنبه معنایی تشابه نیز توجه داشته باشد. همچنین نتایج نهایی برای بررسی راحت تر و دقیق تر با بهره گرفتن از یک روش بهینه خوشه بندی طبقه بندی میشوند، تا دسترسی کاربر به اطلاعات نهایی راحتر و سریعتر باشد. به بیانی ساده تر اطلاعات نهایی خوانا وجامع باشند.
7.1. ساختار پایان نامه
این تحقیق شامل 5 فصل است که ترتیب فصول و موضوعات مطرح شده بهصورت کلی در زیر بیان شدهاست:
1.7.1. فصل اول: کلیات(همین فصل)
در این فصل یک مقدمه از حوزه این تحقیق ارائه شده و در آن مشخصشده که هدف از این تحقیق چیست و خواهان پاسخگویی به چه سوالی هستیم. در ادامه همین فصل یک توضیح مختصر از تحقیقات انجامشده در مورد موضوع این تحقیق ارائه شده است. در نهایت نیز یک دید کلی از فصلهای مختلف این تحقیق ذکر شدهاست.
2.7.1 .فصل دوم: ادبیات تحقیق
در این فصل به بیان مفاهیم و مقدماتی که این پایان نامه بر اساس آن مطرح شدهاست، پرداخته می شود. مخازن خطای نرمافزار و انواع آنها، چرخه عمر یک خطا، همچنین انواع مستندات مرتبط با یک خطا بررسیمی شود. پساز آن استراتژی های اندازه گیری تشابه معنایی بین متون و تفاوت آنها مورد مطالعه قرار میگیرد.
3.7.1. فصل سوم : استفاده از تکنیکهای داده کاوی برای کشف و رفع خطاهای نرم افزار بر پایه ضریب تشابه معنایی متن و خوشه بندی
ضریب تشابه رشته ای یا خطی بر پایه LCS ، روش SOC-PMI بهعنوان یک روش معنایی و تشابه جملات بر اساس عبارات مشترک معرفیمی شوند. و در نهایت روش اندازه گیری شباهت ترکیبی با ادغام و بهینهسازی این روشها معرفی می شود. روشهای خوشهبندی و محاسبه میانگین داده ها مورد نیاز این تحقیق هم بیان میشوند. روش پیشنهادی با استفادهاز استراتژیها و روشهای انتخابشده که با محیط دادهای مخازن سازگار هستند، برای یافتن خطای مشابهتر با خطای جدید تشریح می شود و توضیحمیدهیم که چگونه با یک خوشهبندی و محاسبه میتوانیم میزان پیچیدگی و تخمینی برای زمان رفعخطا ارائهکرد.
4.7.1.فصل چهارم: اعتبارسنجی و توسعه
پیاده سازی روش بر روی نمونه داده های واقعی که از مخزن خطا استخراج شده با بهره گرفتن از برنامهنویسی و نرمافزار Rapid miner[12]، مقایسه روش از نظر زمان و دقت پاسخگویی با روشهای دیگر. همچنین روش ارائه شده را با روش های قبلی مورد مقایسه و تحلیل موضوعی قرار میدهیم.
5.7.1. فصل پنجم : نتیجه گیری
در این فصل به جمعبندی، نتیجه گیری و تبیین دستاوردها و کارهای آینده پرداخته می شود. ویژگیهای این روش با روشهای دیگر مقایسه شده و زمینه های بهبود و نتایج به صورت موردی بیان می شود. از آنجا که استفاده از تشابه معنایی در این زمینه در قدمهای اولیه قرار دارد، در آینده زمینه های زیادی برای کار بیشتر وجود دارد که به چند مورد در این فصل اشاره خواهد شد.
[1]-Knowledge Discovery and Data Mining(KDD)
[2]-Software Repositories
[3]-Mining Software Repositories
[4]-String Similarity
[5]-longest common subsequence
[6]-Second-order co-occurrence pointwise mutual information
[7] -Bug Tracking
[8] -GNU product’s issue-tracking software
[9] -Fuzzy Regresion
[10]- www.lucene.apache.org
[11]- Boolean model
[12]-www.apidminer.com
ممکن است هنگام انتقال از فایل اصلی به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل و با فرمت ورد موجود است
متن کامل را می توانید دانلود نمائید
فرم در حال بارگذاری ...
[چهارشنبه 1399-10-03] [ 12:17:00 ب.ظ ]
|