Software Expert Identification via Version Control Metadata Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Identifying subject matter experts for software libraries is challenging, especially for less commonly used libraries, as existing methods lack efficient mechanisms to scan code repositories and determine programmer expertise based on library usage and coding history.
Innovation Solution
A computer-implemented method that receives a search string, scans library usage data files to identify library calls, cross-references these with version control metadata to determine the associated programmer, and ranks them based on skill metrics to identify subject matter experts, using techniques like TFIDF to determine the uniqueness of library usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If manual methods are used to identify subject matter experts, then expertise assessment can be performed, but the process is time-consuming and inefficient
Solution Approach 1:
The system enables automatic self-assessment of programmer expertise by analyzing version control metadata and library usage patterns. The identification process occurs without manual intervention, as the system automatically scans code repositories, extracts relevant data, and ranks programmers based on their library usage history and coding patterns.
Solution Approach 2:
The patent replaces manual expert identification processes with automated computational analysis. Instead of human reviewers manually assessing expertise, the system uses algorithms to analyze version control metadata, library call patterns, and coding history to objectively determine and rank subject matter experts.
2Measurement precision
If comprehensive code repository scanning is performed to identify experts, then accurate expertise assessment is achieved, but system complexity increases
Solution Approach 1:
The system extracts only the essential and relevant features from comprehensive code repositories - specifically version control metadata and library usage patterns. Rather than analyzing all code elements, it focuses on extracting key indicators of expertise such as library call frequency, recency, and patterns from version control histories.
Solution Approach 2:
The patent introduces an intermediary processing layer that translates complex repository data into simplified expertise metrics. This intermediary system processes raw version control metadata and library usage data through standardized analysis routines, converting them into ranked expertise assessments without requiring direct complex interactions with the full codebase.
3Reliability
If library usage data from multiple repositories is analyzed, then more accurate expert identification is achieved, but data processing requirements increase
Solution Approach 1:
The system segments the analysis process by repository and by programmer, processing version control metadata and library usage data in manageable units. Each repository is analyzed independently to extract relevant patterns, and results are aggregated to form comprehensive expertise assessments, allowing parallel processing and reduced memory requirements.
Solution Approach 2:
The patent performs preliminary filtering and aggregation of library usage data before comprehensive analysis. Version control metadata is pre-processed to identify relevant library calls and usage patterns, and data is organized by programmer and repository beforehand, reducing the computational burden during the final expertise ranking phase.
Data Source
AI summary
Techniques for subject matter expert identification for computer software are described herein. An aspect includes receiving a search string. Another aspect includes searching a plurality of library usage data files to determine a selected library corresponding to the search string. Another aspect includes determining a location of a library call corresponding to the selected library in source code. Another aspect includes determining a computer programmer associated with the determined location based on version control metadata corresponding to the source code. Another aspect includes identifying the determined computer programmer as a subject matter expert for the selected library.


