Probabilistic Code Similarity for Expert Identification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for identifying subject matter experts in computer software development are inefficient and lack a systematic approach to correlate code portions with relevant experts, especially when dealing with large code repositories.
Innovation Solution
A computer-implemented method utilizing a probabilistic data structure, such as a Bloom filter, to determine similarities between code portions and associate them with subject matter experts, generating relationship data that correlates code portions with SMEs, enabling efficient and accurate identification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional methods are used to identify subject matter experts in large code repositories, then comprehensive analysis can be performed, but the process becomes computationally expensive and time-consuming
Solution Approach 1:
The patent uses probabilistic data structures (Bloom filters, Count-Min Sketch) that provide approximate but sufficiently accurate results with much lower computational cost. These structures allow the system to quickly determine code similarity and identify subject matter experts without performing exhaustive comparisons of all code portions in the repository, thus resolving the contradiction between accuracy and efficiency
Solution Approach 2:
The system changes the parameter of similarity detection from exact matching to probabilistic approximation. By using data structures that store and query code fingerprints with controlled error rates, the system achieves acceptable measurement precision while dramatically improving productivity in expert identification
2Reliability
If exact code comparison methods are used to ensure accurate subject matter expert identification, then reliability is improved, but the computational resources and time required increase significantly
Solution Approach 1:
The patent applies partial action by using probabilistic data structures that provide sufficient accuracy for practical purposes without performing complete exhaustive analysis. The Bloom filters and Count-Min Sketch structures enable the system to get reliable results for most cases without the time cost of exact comparison for every code portion, thus resolving the contradiction between reliability and time consumption
Data Source
AI summary
A computer-implemented method includes receiving a portion of code, inputting the received portion of code to a probabilistic data structure to determine whether the portion of code is similar to one or more other portions of code, and based on determining that the one or more other portions are similar to the received portion of code, identifying a number of similar portions of code. The method also includes storing relationship data that associates the similar portions of code with the received portion of code, determining one or more subject matter experts (SMEs) associated with the similar portions of code and the received portion of code and determining correlations between SME data and the relationship data, and storing the SME data and the correlations, the SME data including an indication of the determined SMEs, the relationship data correlating the one or more SMEs to the received portion of code.


