Abstract:
Software maintainability is an important software quality attribute that defines the degree by which a software system is understood, repaired, or enhanced. In recent yea...Show MoreMetadata
Abstract:
Software maintainability is an important software quality attribute that defines the degree by which a software system is understood, repaired, or enhanced. In recent years, there has been an increase in attention in techniques and tools that mine large bug repositories to help software developers understand the causes of bugs and speed up the fixing process. These techniques, however, treat all bugs in the same way. Bugs that are fixed by changing a single location in the code are examined the same way as those that require complex changes. After examining more than 100 thousand bug reports of 380 projects, we found that bugs can be classified into four types based on the location of their fixes. Type 1 bugs are the ones that fixed by modifying a single location in the code, while Type 2 refers to bugs that are fixed in more than one location. Type 3 refers to multiple bugs that are fixed in the exact same location. Type 4 is an extension of Type 3, where multiple bugs are resolved by modifying the same set of locations. This classification can help companies put the resources where they are needed the most. It also provides useful insight into the quality of the code. Knowing, for example, that a system contains a large number of bugs of Type 4 suggests that high maintenance efforts. This classification can also be used for other tasks such as predicting the type of incoming bugs for an improved bug handling process. For example, if a bug is found to be of Type 4 then it should be directed to experienced developers.
Published in: 2018 IEEE/ACM 1st International Workshop on Software Qualities and their Dependencies (SQUADE)
Date of Conference: 27 May 2018 - 03 June 2018
Date Added to IEEE Xplore: 26 August 2018
ISBN Information:
Conference Location: Gothenburg, Sweden
Intelligent System Logging and Monitoring (ISyLM) Lab ECE, Concordia University, Montréal, Canada
Intelligent System Logging and Monitoring (ISyLM) Lab ECE, Concordia University, Montréal, Canada
Intelligent System Logging and Monitoring (ISyLM) Lab ECE, Concordia University, Montréal, Canada
Intelligent System Logging and Monitoring (ISyLM) Lab ECE, Concordia University, Montréal, Canada