נושא הפרוייקט
מספר פרוייקט
מחלקה
שמות סטודנטים
אימייל
שמות מנחים
השפעת יציבות סיפורי משתמש על איכות הקוד
The effect of the stability of user stories on the code quality
תקציר בעיברית
פיתוח תוכנה תלוי במידת רבה בדרישות שלה. דרך נפוצה לתאר את דרישות התוכנה היא דרך סיפורי משתמש שמפרטים את הפונקציות הרצויות של התוכנה. אחד ההיבטים החשובים של סיפור משתמש הוא היכולת שלו להכווין באופן יעיל את תהליך היישום. אנו משתמשים במדד חדש שנקרא "אי יציבות" כדי למדוד את הרמה שבה סיפור משתמש מנחה את היישום. המחקר הזה מתקדם יותר בחקירת היציבות של סיפורי משתמש באמצעות טכניקות שפת מתקדמות ובבדיקת הקורלציה בין יציבות הסיפורי משתמש לבין איכות הקוד הקשורה לסיפורי המשתמש בתחום ריחות הקוד. המחקר יתחיל על ידי פיתוח מודל חיזוי ליציבות סיפור משתמש באמצעות dataset גדול של פרויקטים קוד פתוח. לאחר מכן, אנו מתכננים לשפר את המודל באמצעות טכניקות מתקדמות בעיבוד שפת טבעית כגון BERT ו-SetFit. לאחר שנקבעת יציבות הסיפורי משתמש, אנו מתכוונים לחקור את הקורלציה בין יציבות הסיפורים לבין ריחות הקוד הפוטנציאליות שעשויות להתגלות במהלך היישום של הסיפור. לסיכום, המחקר יסתיים עם פיתוח מודל שיכול לחזות ריחות הקוד, כמו פונקציות מורכבות או קוד ארוך, בהתבסס על סיפור משתמש מסוים.
תקציר באנגלית
Developing software heavily relies on its requirements. A common way to describe software requirements is through user stories, which specify the desired functionality of the software. An essential aspect of a user story is its ability to effectively guide the implementation process. To measure this adequacy, we introduce a new metric called "instability". This research aims to further investigate the instability of user stories using advanced language techniques and examine the correlation between user story instability and the quality of the corresponding code in terms of code smells. The research will begin by developing a predictive model for user story instability using a large corpus of open-source projects. Subsequently, we plan to refine the model using advanced natural language processing (NLP) techniques such as BERT and SetFit. Once the instability of user stories is determined, we will investigate the correlation between user story instability and potential code smells that may arise during the implementation of the user story. In conclusion, the research will culminate in the development of a model that can predict code smells, such as complex functions or lengthy class code, based on a given user story.should guide its implementation. We rely on a new metric called stability to measure this adequacy.