System for modeling toolchains-based source repository analysis
AssigneeInternational Business Machines Corporation
InventorsChristopher Brealey, Christopher Taylor, Joel Cayne, Philippe Mulet, Ritchard L. Schacher, Thomas C. Schmidt
Life of this patent
Estimating the term…
Abstract
Examining source code repositories for indications of orthogonal technologies in actual use or of potential usefulness in the development and continuous delivery of the contents of the repositories.
Claims12
A computer implemented method for modeling toolchains, in an environment comprising a toolchain fabric that manages a catalog of a plurality of tool brokers, each tool broker defining an object that represents a specific type of tool;
- provisions and configures tool integrations, each tool integration defining an object that represents a distinct instance of usage of a corresponding tool;
- and produces toolchains of tool integrations, each toolchain comprising a set of tool integrations and relationships between respective tool integrations, the computer implemented method comprising:
- a computer engine receiving an identification of at least one repository from a user, a set of classifiers, and a catalog of the toolchain fabric comprising known, categorized tool brokers;
- the computer engine identifying indicators of technologies in the at least one repository using at least one selected classifier from the set of classifiers;
- the computer engine classifying, using an ontology, contents of the at least one repository according to the indicators of technologies identified;
- the computer engine analyzing the catalog of the plurality of tool brokers, to identify a set of tools;
- the computer engine generating a toolchain model comprising a mapping between the at least one repository and the plurality of tool brokers based upon an intersection of indicated technologies identified in the at least one repository and technologies supported by the set of tools identified, wherein a tool broker in the plurality of tool brokers supports a technology when a classification of the tool broker is equal to or more specific than a classification of a technology;
- the computer engine updating the toolchain model to specify a configuration of tools in number and type for use with the set of repositories, wherein a given tool integration is governed by a tool broker in the plurality of tool brokers, and wherein a subset of the tool integrations represent an original set of repositories or clones thereof;
- and
- the computer engine serializing the toolchain model into a toolchain template.
A computer program product for modeling toolchains by a computer comprising at least one processor, one or more memories, one or more computer readable storage media, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, in an environment comprising:
- a toolchain fabric that manages a catalog of a plurality of tool brokers, each tool broker defining an object that represents a specific type of tool;
- provisions and configures tool integrations, each tool integration defining an object that represents a distinct instance of usage of a corresponding tool;
- and produces toolchains of tool integrations, each toolchain comprising a set of tool integrations and relationships between respective tool integrations, the program instructions executable by the computer to perform a method comprising:
- receiving, by a computer engine, an identification of at least one repository from a user, a set of classifiers, and a catalog of the toolchain fabric comprising known, categorized tool brokers;
- identifying, by the computer engine, indicators of technologies in the at least one repository using at least one selected classifier from the set of classifiers;
- classifying, by the computer engine, using an ontology, contents of the at least one repository according to the indicators of technologies identified;
- analyzing, by the computer engine, the catalog of the plurality of tool brokers, to identify a set of tools;
- generating, by the computer engine, a toolchain model comprising a mapping between the at least one repository and the plurality of tool brokers based upon an intersection of indicated technologies identified in the at least one repository and technologies supported by the set of tools identified, wherein a tool broker in the plurality of tool brokers supports a technology when a classification of the tool broker is equal to or more specific than a classification of a technology;
- updating, by the computer engine, the toolchain model to specify a configuration of tools in number and type for use with the set of repositories, wherein a given tool integration is governed by a tool broker in the plurality of tool brokers, and wherein a subset of the tool integrations represent an original set of repositories or clones thereof;
- and
- serializing, by the computer engine, the toolchain model into a toolchain template.
A computer system for modeling toolchains, in an environment comprising:
- a toolchain fabric that manages a catalog of a plurality of tool brokers, each tool broker defining an object that represents a specific type of tool;
- provisions and configures tool integrations, each tool integration defining an object that represents a distinct instance of usage of a corresponding tool;
- and produces toolchains of tool integrations, each toolchain comprising a set of tool integrations and relationships between respective tool integrations, the computer system comprising a computer comprising at least one processor, one or more memories, one or more computer readable storage media having program instructions executable by the computer to perform the program instructions comprising:
- receiving, by a computer engine, an identification of at least one repository from a user, a set of classifiers, and a catalog of the toolchain fabric comprising known, categorized tool brokers;
- identifying, by the computer engine, indicators of technologies in the at least one repository using at least one selected classifier from the set of classifiers;
- classifying, by the computer engine, using an ontology, contents of the at least one repository according to the indicators of technologies identified;
- analyzing, by the computer engine, the catalog of the plurality of tool brokers, to identify a set of tools;
- generating, by the computer engine, a toolchain model comprising a mapping between the at least one repository and the plurality of tool brokers based upon an intersection of indicated technologies identified in the at least one repository and technologies supported by the set of tools identified, wherein a tool broker in the plurality of tool brokers supports a technology when a classification of the tool broker is equal to or more specific than a classification of a technology;
- updating, by the computer engine, the toolchain model to specify a configuration of tools in number and type for use with the set of repositories, wherein a given tool integration is governed by a tool broker in the plurality of tool brokers, and wherein a subset of the tool integrations represent an original set of repositories or clones thereof;
- and
- serializing, by the computer engine, the toolchain model into a toolchain template.
Dependencies are inferred from the claim text.