Browse Prior Art Database

Probabilistic Acceptance of Software Changes

IP.com Disclosure Number: IPCOM000244292D
Publication Date: 2015-Nov-30
Document File: 1 page(s) / 23K

Publishing Venue

The IP.com Prior Art Database

Abstract

Described is an alternative approach to controlling software source code changes in a source code control system that is both simple and statistically based. This approach is designed to replace the gatekeeper role with an algorithm that eliminates the tedium while retaining a low probability of allowing dangerous changes to slip into the source base.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 1

Probabilistic Acceptance of Software Changes

In a software configuration management system, there are two problems with automated acceptance of software changes and merges (herein referred to as changes) into a development or release branch:
1. Accepting a dangerous change
2. Not accepting a safe change

    Allowing uncontrolled software source code changes into a source code control system can result in destabilizing the source base. As a result, many teams resort to assigning a person to a gatekeeper role who looks at each change for potential problems, violations of coding rules, etc., and then decides whether to accept or reject the change. However, this is an error-prone and tedious task to perform manually. One can set up change and merge "hooks" to trigger user-defined filters/checks/rules (herein referred to as filters) to either allow or disallow the requested changes. However, these are ad-hoc mechanisms that have only crude combinatorial ability. This alternative approach is designed to replace the gatekeeper role with an algorithm that eliminates the tedium while retaining a low probability of allowing a dangerous change to slip into the source base.

    This alternative approach is to allow the user to create a series of filters that will return a probability of safety and then these individual probabilities are combined to form an aggregated probability of safety. Based on this aggregated probability, the system will either accept or reject the change. The advantage is to reduce the human intervention and at the same time to increase the likelihood that the real problems in the change will be discovered. Each probability is treated as a statistically independent variable, meaning that these probabilities can be combined via multiplication. For example, if there are three filters - f1, f2, f3 - one can aggregate the pro...