Code Review Enforcement via Ownership Files

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In software development, especially in continuous delivery models, the trunk-based development approach is prone to errors due to the lack of rigorous code review, leading to increased failures and bugs, as developers are allowed to check in code without thorough verification, which can result in unstable software products.

Innovation Solution

Implementing a review enforcement system that ensures code ownership and mandatory review by an assigned owner before code can be committed to a repository, using ownership files to manage access and approval processes, and allowing only approved changes to be checked in, while maintaining an audit trail for exceptions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If trunk-based development is implemented without rigorous code review, then development speed and ease of operation are improved, but software reliability and stability deteriorate due to increased errors and bugs

Engineering Contradiction:
Improvedevelopment speedVSAvoidsoftware stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary code review and approval actions before code is committed to the repository. Ownership files pre-define reviewers for each directory, and the system automatically routes code changes to appropriate reviewers before integration, ensuring quality control is built into the development workflow in advance rather than as an afterthought

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary review system between code submission and repository integration. Ownership files act as intermediaries that define review relationships, and the review mechanism serves as a mediator that validates code changes before they affect the main codebase, thus protecting software stability without directly slowing down the development process

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If mandatory code review by assigned owners is implemented, then software reliability is improved by reducing errors and bugs, but device complexity and process complexity increase due to access control rules and approval workflows

Engineering Contradiction:
Improvesoftware stabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system changes the parameter of access control from uniform (all-or-nothing) to granular (directory-specific). Ownership files define review requirements at the directory level, allowing different review strictness for different parts of the codebase. This parameter change enables mandatory review where needed while maintaining simplicity in areas where it's less critical

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system enables self-service through automated review routing based on ownership files. When code is submitted, the system automatically determines which owners need to review based on the directory structure and ownership definitions, eliminating the need for manual assignment and reducing the complexity of managing review workflows

Inventive Principle:
Principle #25Self-service

3Productivity

If code changes are committed without review approval, then productivity is improved by eliminating review wait time, but measurement precision and quality control deteriorate as errors go undetected

Engineering Contradiction:
Improvecommit speedVSAvoidcode quality verification
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system implements feedback loops where code reviewers provide structured feedback on submitted changes. The ownership file mechanism ensures that feedback is routed to the appropriate reviewers based on directory ownership, and the system tracks review status and approvals, creating a measurable quality control process that doesn't fundamentally slow down productive changes

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9311076B2Systems and methods for enforcing code reviews
Publication Date: 2016.04.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9311076B2 patent drawing
  • US9311076B2 patent drawing
  • US9311076B2 patent drawing

AI summary

Techniques for enforcing software reviews are described. For example, a commit request to commit code to a repository is received. In response to receiving the commit request, an ownership file is accessed in the repository based on the commit request. The ownership file includes a directory identifier of a directory of the repository and an identifier of an owner who controls committing of code to the directory. A determination is made, based on the ownership file, that the owner did not provide an indication of approval of the code requested to be committed to the repository. A review of the code is facilitated, based on the determination that the owner did not provide the indication of approval.