Software Expert Identification via Version Control Metadata Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveexpert identification efficiencyVSAvoidtime for expert identification
Core Design Contradiction:
ProductivityVSLoss of time

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Measurement precision

If comprehensive code repository scanning is performed to identify experts, then accurate expertise assessment is achieved, but system complexity increases

Engineering Contradiction:
Improveexpertise assessment accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If library usage data from multiple repositories is analyzed, then more accurate expert identification is achieved, but data processing requirements increase

Engineering Contradiction:
Improveexpert identification reliabilityVSAvoiddata processing volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20220179648A1Subject matter expert identification for computer software
Publication Date: 2022.06.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US20220179648A1 patent drawing
  • US20220179648A1 patent drawing
  • US20220179648A1 patent drawing

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.