Source Code Checkin Policy Enforcement via Automated Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional checkin policy management in source code control systems is unreliable and unauditable due to informal communication of policies among team members, leading to inconsistent adherence.

Innovation Solution

A mechanism for defining, disseminating, and automatically evaluating checkin policies, with an extensible framework for creating new policy types using plugins, enabling auditable compliance checking and enforcement, as well as notification for missing plugins.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If informal communication of policies among team members is used, then device complexity is reduced, but reliability of policy adherence deteriorates

Engineering Contradiction:
Improvepolicy management complexityVSAvoidpolicy adherence reliability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces a policy management system as an intermediary between administrators and developers. This system automatically evaluates policies against source code changes, eliminating the need for informal communication while ensuring consistent and reliable policy adherence through automated enforcement.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical process of informal verbal/written communication with an automated computer-based policy evaluation system. The system automatically checks source code changes against defined policies, substituting human communication with algorithmic decision-making for improved reliability.

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

2Reliability

If automated policy evaluation is implemented, then reliability of policy adherence is improved, but device complexity increases

Engineering Contradiction:
Improvepolicy adherence reliabilityVSAvoidpolicy management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the policy evaluation system into independent policy definitions and an evaluation engine. Policies are defined as separate, reusable units that can be independently configured, making the overall system more manageable despite the added complexity of automation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a universal policy evaluation framework that can handle multiple policy types (coding standards, security rules, documentation requirements) through a single system. This multi-functionality reduces the need for separate tools, offsetting the complexity increase.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If extensible policy framework with plugins is used, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvepolicy type flexibilityVSAvoidframework complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a dynamic policy framework where new policy types can be added through plugins without modifying the core system. This allows the system to adapt to changing organizational needs while maintaining a stable base architecture, managing complexity through controlled extensibility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent uses a plugin architecture where new policy types are implemented as copies or extensions of existing policy evaluation mechanisms. This copying approach allows adaptability through reuse of proven patterns, reducing the complexity of creating new policies.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7653893B2Methods and apparatus for implementing checkin policies in source code control systems
Publication Date: 2010.01.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7653893B2 patent drawing
  • US7653893B2 patent drawing
  • US7653893B2 patent drawing

AI summary

In one embodiment, a method and apparatus for automatically evaluating compliance of at least one source code file against at least one checkin policy. In a further embodiment, providing information about the compliance or non-compliance of the at least one source code file with the at least one checkin policy. In another embodiment, providing an option to override a policy failure and submit the at least one source code file to a source code repository. In one embodiment, in response to an override of a policy failure, providing a notification about the override of the policy failure. In some embodiments, an extensible framework enabling the installation of at least one checkin policy plugin, and providing a notification that at least one checkin policy plugin is not installed. In further embodiments, providing and using a work item association policy plugin, a unit tests policy plugin, and a static analysis policy plugin.