Browse Prior Art Database

Usage pattern based build automation using ELO ranking

IP.com Disclosure Number: IPCOM000237792D
Publication Date: 2014-Jul-11
Document File: 2 page(s) / 20K

Publishing Venue

The IP.com Prior Art Database

Abstract

Many features of software applications are the result of a "guess" by the developers as to what the most appropriate solution to a particular issue is. In such cases, the typical approach would be to seek feedback from the customers, either manually, or via automated usage statistics gathered from the client code. This idea ties automated usage statistics gathered by the distributed software with an automated build framework  that uses an Elo (http://en.wikipedia.org/wiki/Elo_rating_system) based algorithm to select the most appropriate choice of features from a particular set.

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

Page 01 of 2

Usage pattern based build automation using ELO ranking

Many features of software applications are the result of a "guess" by the developers as to what the most appropriate solution to a particular issue is. For example, the developer may feel that a certain look and feel will be favored by customers. The same developer may feel that one type of algorithm may be generally preferable for a particular workload, in both cases this decision is made without yet knowing the exact nature of the customers workload.

In such cases, the typical approach would be to seek feedback from the customers, either manually, or via automated usage statistics gathered from the client code. The lessons learned therein would be incorporated into future decision making and manual code development. This idea ties automated usage statistics gathered by the distributed software, with an automated build framework  that uses an Elo based algorithm, to select the most appropriate choice of features from a particular set. This is of particular benefit where there are a large number of possible features or preferences available. In these circumstances, the user may become overwhelmed by the number of possible choices and not explore all the options fully, subsequently missing out on discovering a more beneficial feature or configuration.

Using this system, across a multitude of different builds, the possible options are divided up between users, who are each asked to compare two different implementations, and after a period of use, select the implementation they prefer. This outcome acts as the resolution of a game as understood using the Elo system which is a system that is traditionally used to compare the relative skill levels of players, particularly in chess. If a user selects option A instead of option B, the result is recorded as if A has played B and won. The Elo ratings of A and B are adjusted according. After a period of time, user preferences will become clear as the favoured choices rise to the top of Elo ranking. After an evaluation period, the appropriate array of features (for example, the top 10) could be selected for the application. Once the features are selected, the system triggers a rebuild of the executable code of the software. Functions such as build verification testing could then be implemented, followed by deployment of the software to an onlin...