Cross-Project Learning System for Software Defect Repair
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cross-project learning tools use a general, disorganized corpus of software projects, leading to irrelevant results and increased costs due to noise and inefficiencies in code search and learning processes.
Innovation Solution
A method for cross-project learning that selects a relevant corpus of projects from a database by determining similarity scores between candidate target projects and a subject project, filtering out dissimilar projects, and recommending code to repair defects in the subject project based on similar target projects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a general corpus of software projects is used for cross-project learning, then more projects are available for review, but irrelevant projects introduce noise and increase costs
Solution Approach 1:
The patent segments the general corpus of software projects into relevant and irrelevant subsets by computing similarity scores between candidate projects and the subject project. This segmentation allows the system to selectively process only relevant projects, eliminating noise while maintaining access to the broader corpus.
Solution Approach 2:
The patent applies local quality by determining relevance on a project-by-project basis using similarity scoring. Each candidate project is evaluated individually against the subject project's features, allowing the system to treat each project with appropriate relevance assessment rather than applying a uniform approach to all projects.
2Reliability
If all candidate projects are processed for similarity scoring, then comprehensive review is achieved, but computational overhead increases
Solution Approach 1:
The patent implements partial action by processing only those candidate projects that meet a minimum similarity threshold. Instead of exhaustively analyzing all candidate projects, the system performs similarity scoring and filtering to process only the relevant subset, reducing computational overhead while maintaining sufficient review completeness.
Solution Approach 2:
The patent uses parameter changes by adjusting the similarity threshold to control the balance between comprehensive review and computational cost. By varying the threshold parameter, the system can optimize the trade-off between reviewing more projects (higher threshold) and reducing computational overhead (lower threshold).
3Measurement precision
If similarity scoring is performed on all features of all candidate projects, then accurate matching is achieved, but search time increases
Solution Approach 1:
The patent extracts only the relevant features from candidate projects that are necessary for determining similarity to the subject project. By identifying and processing only the pertinent features rather than all features, the system maintains accurate matching while reducing the time required for feature comparison.
Solution Approach 2:
The patent performs preliminary action by pre-processing and indexing project features before similarity scoring. This preliminary organization of feature data enables faster retrieval and comparison during the actual matching process, reducing search time while maintaining measurement precision.
Data Source
AI summary
The disclosed method may include accessing features including feature information of one or more candidate target projects and of a subject project, in which the candidate target projects and the subject project are software programs. The method may include determining a similarity score between the feature information of each of the candidate target projects and the feature information of the subject project, in which a similarity score is determined for each feature of each of the candidate target projects. The method may include aggregating the similarity scores of the feature information of each feature in the candidate target projects to create an aggregate similarity score for each of the candidate target projects and generate a set of similar target projects. The method may include modifying the subject project by implementing recommended code, based on the similar target projects, in the subject project to repair a defect.


