Loading...
Automated Type and Priority Prediction of Issue Reports in Software Repositories
Akbari, Kiana | 2021
384
Viewed
- Type of Document: M.Sc. Thesis
- Language: Farsi
- Document No: 53769 (19)
- University: Sharif University of Technology
- Department: Computer Engineering
- Advisor(s): Heydarnoori, Abbas
- Abstract:
- Proper documentation plays an important role in successful software management and maintenance. Software repositories such as GitHub host an enormous number of software entities with various features. Developers collaboratively implement, use, and share these repositories in the community. Software repositories use issue tracking systems to keep track of issue reports, both to manage workload and document the highlight of teams’ effort. An issue report can contain a request for new features, a reported problem, or simply a question by users of a software product. As the number of these issues increases, it becomes harder to manage them. Github provides labels for tagging issues, however, only about 50% of issues have labels indicating the goal of an issue (feature request, bug report, support, and etc). In this work, we aim at automating the process of managing issue reports for software teams. We propose a two-stage approach to predict both the type and priority level an issue using state-of-the-art text classifiers and feature engineering methods. We train and evaluate our models in both intra- and inter-project settings. Our proposed approach can successfully predict type and priority of issue reports with 83% and 88% accuracy, respectively
- Keywords:
- Natural Language Processing ; Machine Learning ; Prioritization ; Classification ; Software Maintenance ; Safware Evolution ; Software Repositories ; Issue Reports
-
محتواي کتاب
- view
- فصل1 : معرفی پژوهش
- 1-1 مقدمه
- 1-2 تعریف مسئله
- 1-3 انگیزهها و اهداف پژوهش
- 1-4 چالشهای پیش رو
- 1-5 مراحل انجام پژوهش
- 1-6 راهکار پیشنهادی در یک نگاه
- 1-7 نوآوریهای پژوهش
- 1-8 ساختار پایاننامه
- فصل2 : مفاهیم مورد استفاده در پژوهش
- 2-1 مقدمه
- 2-2 مفاهیم مربوط به محیط مسئله
- 2-3 طبقهبندی متن
- 2-3-1 استخراج ویژگی
- 2-3-2 کاهش ابعاد
- 2-3-3 طبقهبندی
- 2-3-4 ارزیابی
- فصل3 : مروری بر کارهای مرتبط
- 3-1 مقدمه
- 3-2 طبقهبندی گزارشها در سامانههای ردیابی اشکال
- 3-2-1 تحلیل برچسبگذاری در گیتهاب
- 3-2-2 طبقهبندی دودویی
- 3-2-2-1 تشخیص باگ بودن گزارشها در سامانههای ردیابی خطا
- 3-2-3 طبقهبندی چندکلاسی
- 3-2-4 نواقص کارهای بررسی شده
- 3-3 اولویتبندی مصنوعات نرمافزاری
- 3-3-1 اولویتبندی در گیتهاب
- 3-3-1-1 پیشبینی طول عمر مصنوعات
- 3-3-2 اولویتبندی در سایر سکوهای نرمافزاری
- 3-3-3 نواقص کارهای بررسی شده
- 3-3-1 اولویتبندی در گیتهاب
- 3-4 نتیجهگیری
- فصل4 : راهکار پیشنهادی
- 4-1 مقدمه
- 4-2 پیشبینی نوع اشکال
- 4-2-1 راهکار پیشنهادی در یک نگاه
- 4-2-2 انتخاب دستهها
- 4-2-3 جمعآوری داده
- 4-2-4 پیشپردازش متن
- 4-2-5 استفاده از روشهای کلاسیک یادگیری ماشین
- 4-2-5-1 استخراج ویژگی از متن
- 4-2-5-2 انتخاب ویژگیها
- 4-2-5-3 انتخاب مدل
- 4-2-5-4 یادگیری گروهی
- 4-2-6 استفاده از فستتکست
- 4-2-7 استفاده از روشهای مبتنی بر ترانسفورماتور
- 4-3 اولویتبندی اشکالها
- 4-3-1 راهکار پیشنهادی در یک نگاه
- 4-3-2 جمعآوری داده
- 4-3-3 پیشپردازش متن
- 4-3-4 برچسب زدن داده
- 4-3-5 انتخاب ویژگیها
- 4-3-6 امتیازدهی
- فصل5 : نتایج تجربی و ارزیابی
- 5-1 مقدمه
- 5-2 محکهای مورد استفاده در این پژوهش
- 5-3 نتایج تجربی
- 5-3-1 کارایی الگوریتمهای کلاسیک یادگیری ماشین در امر طبقهبندی اشکالها
- 5-3-1-1 پیدا کردن مناسبترین روش استخراج ویژگی
- 5-3-1-2 بررسی تأثیر استفاده از ویژگیهای غیر متنی
- 5-3-1-3 بررسی تأثیر تنظیم پارامترهای مدلها
- 5-3-1-4 بررسی تأثیر استفاده از یادگیری گروهی
- 5-3-1-5 نتیجهگیری
- 5-3-2 کارایی الگوریتم فستتکست در امر طبقهبندی اشکالها
- 5-3-2-1 نتیجهگیری
- 5-3-3 کارایی الگوریتمهای مبتنی بر ترانسفورماتور در امر طبقهبندی اشکالها
- 5-3-3-1 نتیجهگیری
- 5-3-4 کارایی الگوریتمهای طبقهبندی در امر اولویتبندی اشکالها
- 5-3-4-1 نتیجهگیری
- 5-3-5 تنظیمات مدلها به ازای هر پروژه در امر اولویتبندی اشکالها
- 5-3-5-1 نتیجهگیری
- 5-3-6 بررسی تأثیر ویژگیهای استفاده شده در مدل اولویتبندی
- 5-3-6-1 نتیجهگیری
- 5-3-1 کارایی الگوریتمهای کلاسیک یادگیری ماشین در امر طبقهبندی اشکالها
- 5-4 پرسشهای پژوهش
- 5-5 برپایی ارزیابی
- 5-6 نتایج ارزیابی
- 5-6-1 پرسش پژوهشی اول
- 5-6-2 پرسش پژوهشی دوم
- 5-6-3 پرسش پژوهشی سوم
- 5-6-4 پرسش پژوهشی چهارم
- 5-7 تحلیل ارزیابی
- 5-7-1 تحلیل بخش طبقهبندی اشکالها
- 5-7-2 تحلیل بخش اولویتبندی اشکالها
- 5-8 تهدیدات علیه اعتبار
- 5-8-1 اعتبار درونی
- 5-8-2 اعتبار خارجی
- 5-8-3 قابلیت ساخت
- 5-8-4 قابلیت اطمینان
- 5-9 نتیجهگیری
- فصل6 : نتیجهگیری و کارهای آتی
- 6-1 نقاط قوت و ضعف
- 6-1-1 نقاط قوت
- 6-1-2 نقاط ضعف
- 6-2 کارهای آتی
- 6-1 نقاط قوت و ضعف
- مراجع
- واژهنامه انگلیسی به فارسی
- واژهنامه فارسی به انگلیسی
- attachment1.pdf
- فصل1 : معرفی پژوهش
- 1-1 مقدمه
- 1-2 تعریف مسئله
- 1-3 انگیزهها و اهداف پژوهش
- 1-4 چالشهای پیش رو
- 1-5 مراحل انجام پژوهش
- 1-6 راهکار پیشنهادی در یک نگاه
- 1-7 نوآوریهای پژوهش
- 1-8 ساختار پایاننامه
- فصل2 : مفاهیم مورد استفاده در پژوهش
- 2-1 مقدمه
- 2-2 مفاهیم مربوط به محیط مسئله
- 2-3 طبقهبندی متن
- 2-3-1 استخراج ویژگی
- 2-3-2 کاهش ابعاد
- 2-3-3 طبقهبندی
- 2-3-4 ارزیابی
- فصل3 : مروری بر کارهای مرتبط
- 3-1 مقدمه
- 3-2 طبقهبندی گزارشات در سامانههای ردیابی اشکال
- 3-2-1 تحلیل برچسبگذاری در گیتهاب
- 3-2-2 طبقهبندی دودویی
- 3-2-2-1 تشخیص باگ بودن گزارشات در سامانههای ردیابی خطا
- 3-2-3 طبقهبندی چندکلاسی
- 3-2-4 نواقص کارهای بررسی شده
- 3-3 اولویتبندی مصنوعات نرمافزاری
- 3-3-1 اولویتبندی در گیتهاب
- 3-3-1-1 پیشبینی طول عمر مصنوعات
- 3-3-2 اولویتبندی در سایر سکوهای نرمافزاری
- 3-3-3 نواقص کارهای بررسی شده
- 3-3-1 اولویتبندی در گیتهاب
- 3-4 نتیجهگیری
- فصل4 : راهکار پیشنهادی
- 4-1 مقدمه
- 4-2 پیشبینی نوع اشکال
- 4-2-1 راهکار پیشنهادی در یک نگاه
- 4-2-2 انتخاب دستهها
- 4-2-3 جمعآوری داده
- 4-2-4 پیشپردازش متن
- 4-2-5 استفاده از روشهای کلاسیک یادگیری ماشین
- 4-2-5-1 استخراج ویژگی از متن
- 4-2-5-2 انتخاب ویژگیها
- 4-2-5-3 انتخاب مدل
- 4-2-5-4 یادگیری گروهی
- 4-2-6 استفاده از فستتکست
- 4-2-7 استفاده از روشهای مبتنی بر ترانسفورماتور
- 4-3 اولویتبندی اشکالها
- 4-3-1 راهکار پیشنهادی در یک نگاه
- 4-3-2 جمعآوری داده
- 4-3-3 پیشپردازش متن
- 4-3-4 برچسب زدن داده
- 4-3-5 انتخاب ویژگیها
- 4-3-6 امتیازدهی
- فصل5 : نتایج تجربی و ارزیابی
- 5-1 مقدمه
- 5-2 محکهای مورد استفاده در این پژوهش
- 5-3 نتایج تجربی
- 5-3-1 کارایی الگوریتمهای کلاسیک یادگیری ماشین در امر طبقهبندی اشکالها
- 5-3-1-1 پیدا کردن مناسبترین روش استخراج ویژگی
- 5-3-1-2 بررسی تأثیر استفاده از ویژگیهای غیر متنی
- 5-3-1-3 بررسی تأثیر تنظیم پارامترهای مدلها
- 5-3-1-4 بررسی تأثیر استفاده از یادگیری گروهی
- 5-3-1-5 نتیجهگیری
- 5-3-2 کارایی الگوریتم فستتکست در امر طبقهبندی اشکالها
- 5-3-2-1 نتیجهگیری
- 5-3-3 کارایی الگوریتمهای مبتنی بر ترانسفورماتور در امر طبقهبندی اشکالها
- 5-3-3-1 نتیجهگیری
- 5-3-4 کارایی الگوریتمهای طبقهبندی در امر اولویتبندی اشکالها
- 5-3-4-1 نتیجهگیری
- 5-3-5 تنظیمات مدلها به ازای هر پروژه در امر اولویتبندی اشکالها
- 5-3-5-1 نتیجهگیری
- 5-3-6 بررسی تأثیر ویژگیهای استفاده شده در مدل اولویتبندی
- 5-3-6-1 نتیجهگیری
- 5-3-1 کارایی الگوریتمهای کلاسیک یادگیری ماشین در امر طبقهبندی اشکالها
- 5-4 پرسشهای پژوهش
- 5-5 برپایی ارزیابی
- 5-6 نتایج ارزیابی
- 5-6-1 پرسش پژوهشی اول
- 5-6-2 پرسش پژوهشی دوم
- 5-6-3 پرسش پژوهشی سوم
- 5-6-4 پرسش پژوهشی چهارم
- 5-7 تحلیل ارزیابی
- 5-7-1 تحلیل کمی
- 5-7-2 تحلیل کیفی
- 5-8 تهدیدات علیه اعتبار
- 5-8-2 اعتبار خارجی
- 5-8-3 قابلیت ساخت
- 5-8-4 قابلیت اطمینان
- 5-9 نتیجهگیری
- فصل6 : نتیجهگیری و کارهای آتی
- 6-1 نقاط قوت و ضعف
- 6-1-1 نقاط قوت
- 6-1-2 نقاط ضعف
- 6-2 کارهای آتی
- 6-1 نقاط قوت و ضعف
- مراجع
- واژهنامه انگلیسی به فارسی
- واژهنامه فارسی به انگلیسی
- فصل1 : معرفی پژوهش