Show simple item record

Intelligent Software Bugs Localization, Triage and Prioritization

dc.contributor.authorAlmhana, Rafi
dc.contributor.advisorKessentini, Marouane
dc.date.accessioned2021-11-05T17:35:23Z
dc.date.issued2021-12-18
dc.date.submitted2021-10-22
dc.identifier.urihttps://hdl.handle.net/2027.42/170906
dc.description.abstractOne of the time-consuming software maintenance tasks is the localization of software bugs especially in large systems. Developers have to follow a tedious process to reproduce the abnormal behavior then inspect a large number of files in order to resolve the bugs. Furthermore, software developers are usually overwhelmed with several reports of critical bugs to be addressed urgently and simultaneously. The management of these bugs is a complex problem due to the limited resources and the deadlines-pressure. Another critical task in this process is to assign appropriate priority to the bugs and eventually assign them to the right developers for resolution. Several studies have been proposed for bugs localization, the majority of them are recommending classes as outputs which may still require high inspection effort. In addition, there is a significant difference between the natural language used in bug reports and the programming language which limits the efficiency of existing approaches since most of them are mainly based on lexical similarity. Most of the existing studies treated bug reports in isolation when assigning them to developers. They also lack the understanding of dynamics of changing bug priorities. Thus, developers may spend considerable cognitive efforts moving between completely unrelated bug reports. To address these challenges, we proposed the following research contributions: 1. We proposed an automated approach to find and rank the potential classes and methods in order to localize software defects. Our approach finds a good balance between minimizing the number of recommended classes and maximizing the relevance of the proposed solution using a hybrid multi-objective optimization algorithm combining local and global search. Our hybrid multi-objective approach is able to successfully locate the true buggy methods within the top 10 recommendations for over 78% of the bug reports leading to a significant reduction of developers' effort comparing to class-level bug localization techniques. 2. We proposed an automated bugs triage approach based on the dependencies between several open bug reports. We defined the dependency between two bug reports as the number of common files to be inspected to localize the bugs. Then, we adopted multi-objective search to rank the bug reports for programmers. The results show a significant time reduction of over 30% in localizing the bugs simultaneously comparing to the traditional bugs prioritization technique based on only priorities. 3. We performed an empirical study to observe and understand the changes in bugs' priority in order to build a 3-W model on Why and When bug priorities change, and Who performs the change. We conducted interviews and a survey with practitioners as well as performed a quantitative analysis large database of bugs reports. As a result, we observed frequent changes in bug priorities and their impact on delaying critical bug fixes especially before shipping a new release.en_US
dc.language.isoen_USen_US
dc.subjectSoftware bugsen_US
dc.subjectSoftware defecten_US
dc.subjectBugs localizationen_US
dc.subjectDefects localizationen_US
dc.subjectBugs triageen_US
dc.subjectBug reportsen_US
dc.subjectBug report prioritizationen_US
dc.subject.otherSoftware Engineeringen_US
dc.titleIntelligent Software Bugs Localization, Triage and Prioritizationen_US
dc.typeThesisen_US
dc.description.thesisdegreenamePhDen_US
dc.description.thesisdegreedisciplineCollege of Engineering & Computer Scienceen_US
dc.description.thesisdegreegrantorUniversity of Michigan-Dearbornen_US
dc.contributor.committeememberChehade, Abdallah
dc.contributor.committeememberHassan, Foyzul
dc.contributor.committeememberMaxim, Bruce
dc.identifier.uniqname17684808en_US
dc.description.bitstreamurlhttp://deepblue.lib.umich.edu/bitstream/2027.42/170906/1/Rafi Almhana Final Dissertation.pdf
dc.identifier.doihttps://dx.doi.org/10.7302/3702
dc.identifier.orcid0000-0002-3973-4592en_US
dc.description.filedescriptionDescription of Rafi Almhana Final Dissertation.pdf : Dissertation
dc.identifier.name-orcidAlmhana, Rafi; 0000-0002-3973-4592en_US
dc.working.doi10.7302/3702en_US
dc.owningcollnameDissertations and Theses (Ph.D. and Master's)


Files in this item

Show simple item record

Remediation of Harmful Language

The University of Michigan Library aims to describe library materials in a way that respects the people and communities who create, use, and are represented in our collections. Report harmful or offensive language in catalog records, finding aids, or elsewhere in our collections anonymously through our metadata feedback form. More information at Remediation of Harmful Language.

Accessibility

If you are unable to use this file in its current format, please select the Contact Us link and we can modify it to make it more accessible to you.