Source Code Checkin Policy Enforcement via Automated Evaluation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If automated policy evaluation is implemented, then reliability of policy adherence is improved, but device complexity increases
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.
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.
3Adaptability or versatility
If extensible policy framework with plugins is used, then adaptability is improved, but device complexity increases
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.
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.
Data Source
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.


