Bug Localization via Temporal Decay and Pre-computed Rankings

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for bug localization in software development are inefficient due to the complexity of defects, which can arise from various sources and are often intricate, making it difficult to quickly and accurately identify the source code artifacts responsible for buggy behavior.

Innovation Solution

A method that utilizes historical and textual rankings of source code files by analyzing changeset information and incorporating temporal decay to estimate defect and modification probabilities, improving the accuracy of bug localization by selecting relevant files based on their prior defect and modification histories.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional information retrieval methods are used for bug localization, then the search process is simple and fast, but the localization accuracy is insufficient due to the complexity of defects

Engineering Contradiction:
Improvebug localization accuracyVSAvoidsearch system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by pre-computing historical rankings and defect probabilities for all source code files before actual bug localization queries are executed. This allows the system to have defect probability scores ready in advance, so when a bug report comes in, the system can quickly combine these pre-computed values with textual analysis results to achieve high localization accuracy without complex real-time computation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism by combining historical defect probability rankings with textual search results through a weighted combination formula. This intermediary approach merges two different types of information (historical data and textual analysis) to produce a more accurate final ranking, resolving the contradiction between simple search and accurate localization

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If version history information is incorporated into the search process, then bug localization accuracy improves, but the processing time and computational resources increase

Engineering Contradiction:
Improvebug localization accuracyVSAvoidsearch processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system computes historical rankings and defect probabilities in advance, before actual bug localization is needed. By pre-processing the version history information and storing these computed values, the system avoids the need to analyze entire version histories at query time, thus maintaining high accuracy while reducing actual processing time when bugs need to be localized

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a dynamic ranking mechanism that adapts the weight of historical information based on the specific query and context. The system can adjust how much emphasis is placed on historical defect probabilities versus textual match results, allowing it to optimize between accuracy and processing speed depending on the situation

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If temporal decay is incorporated to weight recent changes more heavily, then the relevance of localized bugs improves, but the complexity of the ranking algorithm increases

Engineering Contradiction:
Improverelevance of localized bugsVSAvoidranking algorithm complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by introducing a temporal decay factor that modifies the weight of historical information based on age. This simple parameter adjustment (using exponential or linear decay) allows the system to automatically emphasize recent changes while de-emphasizing older ones, improving relevance without requiring complex algorithms - just a mathematical transformation of the historical data

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If multiple ranking factors (historical and textual) are combined, then bug localization precision improves, but the difficulty of implementing and maintaining the system increases

Engineering Contradiction:
Improvebug localization precisionVSAvoidsystem implementation ease
Core Design Contradiction:
Measurement precisionVSEase of manufacture

Solution Approach 1:

The system performs preliminary computation of historical rankings and defect probabilities before actual use. By pre-computing these complex factors and storing them, the system simplifies the implementation - when a bug needs localization, the system only needs to retrieve these pre-computed values and combine them with simple textual analysis, rather than implementing complex real-time multi-factor analysis

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10108526B2Bug localization using version history
Publication Date: 2018.10.23 PURDUE RES FOUND
  • US10108526B2 patent drawing
  • US10108526B2 patent drawing
  • US10108526B2 patent drawing

AI summary

A method of searching a corpus including a plurality of files includes automatically determining, using a processor, a historical ranking for each file using respective changeset information. Search term(s) of a query are received. A textual ranking is determined for each file using the search term(s) and contents of that file. The historical and textual rankings are combined to provide a result ranking. A data processing system includes a storage system storing the corpus including the plurality of files, a processor configured to determine the result rankings, and a user interface system configured to receive query results from the processor and present them to a user.