Browse Prior Art Database

Relational Cluster Analysis for Bug Tracking

IP.com Disclosure Number: IPCOM000238298D
Publication Date: 2014-Aug-15
Document File: 4 page(s) / 84K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method to perform a clustering analysis to determine the "closeness" of the relationship between software bugs, as well as help visualize a user interface (UI) layout for bugs.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 45% of the total text.

Page 01 of 4

Relational Cluster Analysis for Bug Tracking

The management of software bugs, tasks, or enhancements (i.e. Work Items) can be difficult due to the volume of bugs. Project Managers and developers want to understand the relationship of work items (e.g., blockers, duplicates, similar bugs, related bugs, etc.) for prioritizing, reduce the number of redundant work items that cause confusion by misdirection , and be able to understand

when seemingly separate groups of bugs are discussing the same ideas as well as when a single group of bugs is actually many separate, intertwined ideas.

Current bug duplication systems look at fields of the bugs that have the same value, or use string-matching algorithms to detect if the bug descriptions are similar (e.g., pattern matching for stack traces). These solutions do not take in account the relationship of bugs and do not expose the "weight" of the severity and relationships to users. Some systems may display bugs in the form of an indented tree; however, that shows a tree hierarchy when the relationships may be a graph. In addition, the tree displays are limited because the graph may show a cyclical dependency, which needs to be exposed so that developers can decide how to begin that work.

A typical problem may be:

Bug A is a duplicate of Bug B Bug C depends on Bug A
Bug D has useful information on how to solve Bug A

The issues in this example are:

Examining bug B does not easily show that C is blocked by it, and D has information to solve it
Examining Bug C, on the surface looks like all of the requirements are filled. Bug A is "Resolved" and closed, but not because the solution has been fixed, but because the open bug B is tracked elsewhere.

Examining bug D, on the surface does not lead a developer to look at Bug B
Examining bug D does now show it is a high priority because it blocks C transitively through A

The novel solution is to perform clustering analysis to determine the "closeness" of the relationship of software bugs, as well as help visualize a user interface (UI) layout for bugs.

Bugs are displayed using graph visualization (e.g., nodes, edges). Nodes that have a closer relationship are displayed closer

1


Page 02 of 4

together. Duplicate bugs are drawn on top of each other. Edges with arrows show dependencies. Positioning of bugs (higher on the screen, vs lower on the screen) denotes a hierarchal relationship (if it exists).

Clustering analysis has an advantage over field matching because comparing fields is too strict. For example, a bug in a webpage may be filed against the browser application. The same bug may be filed against a second browser application. The description and the stack trace of these bugs may be different due to the browser implementation . Perhaps both bugs become related to an underlying cause due to developers who are independently investigating the bugs. Each relationship to the underlying source is makes it a duplicate of the other,...