Social Graph Code Recommendation System

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional software development techniques lack efficiency in recommending contextually relevant information to developers, relying on static lists and repositories that do not leverage social relationships or user interactions effectively.

Innovation Solution

A system utilizing a social data graph and machine learning techniques to recommend information related to code development, associating user interactions and social connections to provide contextually relevant suggestions for developers, such as code snippets, personnel, and marketing opportunities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If conventional static lists and repositories are used to provide code information, then the system complexity is low and ease of operation is high, but the relevance and discoverability of recommended information deteriorates

Engineering Contradiction:
Improveinformation relevanceVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent introduces a social data graph as an intermediary layer between developers and code information. This graph maps social relationships, user interactions, and code artifacts together, enabling contextual recommendations without requiring direct complex queries to vast code repositories. The social data graph acts as a mediator that translates social network data into relevant code recommendations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces conventional mechanical search interfaces (static lists, keyword searches) with a machine learning-based recommendation system. The machine learning model processes social graph data, user behavior patterns, and code metadata to automatically generate contextual recommendations, substituting manual search mechanisms with automated intelligent systems.

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

2Productivity

If machine learning techniques and social data graphs are used to recommend contextually related information, then information discoverability and relevance are improved, but system complexity and computational resources increase

Engineering Contradiction:
Improvedevelopment efficiencyVSAvoidcomputational resources
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary actions by pre-processing and indexing social graph data, user interaction histories, and code metadata before actual recommendation requests. User profiles and social relationships are maintained in the social data graph in advance, allowing rapid queries during development without requiring heavy real-time computations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies partial action by selectively processing only the portions of social graph data and code repositories that are relevant to current development context. Rather than analyzing entire datasets, the system filters and processes only the necessary social connections and code artifacts related to the developer's current project and interests.

Inventive Principle:
Principle #16Partial or excessive action

3Loss of time

If conventional repositories are browsed via web interface, then ease of operation is maintained, but time required to find relevant code decreases

Engineering Contradiction:
Improvecode search timeVSAvoidinterface simplicity
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The system implements self-service by automatically generating and presenting code recommendations based on the developer's social network, past interactions, and current context. Instead of requiring developers to manually search through repositories, the system serves itself by proactively identifying and presenting relevant code artifacts, reducing the developer's manual search effort.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10261759B2Social-based information recommendation system
Publication Date: 2019.04.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10261759B2 patent drawing
  • US10261759B2 patent drawing
  • US10261759B2 patent drawing

AI summary

Techniques are described herein that are capable of recommending information that is contextually related to code using a social data graph. A machine learning technique is used to determine that the information is contextually related to the code. A social data graph is a graph database that stores information associated with users in a social networking environment. For instance, such information may be retrieved from user profiles, social updates, etc. of the users. A social networking environment is an online service, platform, or domain (e.g., Web site) that facilitates the building of social networks (e.g., social relations) among people who share interests, activities, backgrounds, real-life connections, etc.