System for modeling toolchains-based source repository analysis

US10503479B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10503479-B2
Application numberUS-201815972661-A
CountryUS
Kind codeB2
Filing dateMay 7, 2018
Priority dateMay 7, 2018
Publication dateDec 10, 2019
Grant dateDec 10, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. 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. 2. The method of claim 1 , further comprising the step of generating a toolchain having at least one toolchain instance, using the tools identified by the toolchain template. 3. The method of claim 1 , wherein identification of a set of tools by the engine comprises determining if the classification of at least one tool is equal to or more specific than the classification of the indicators of the technologies identified. 4. The method of claim 1 , wherein the toolchain template is a pattern for toolchains. 5. 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. 6. The computer program product of claim 5 , further comprising the program instructions of: generating, by the computer engine, a toolchain using the tools identified by the toolchain template. 7. The computer program product of claim 5 , wherein identification of a set of tools by the computer engine comprises determining if the classification of the set of tools is equal to or more specific than the classification of the indicators of the technologies identified. 8. The computer program product of claim 5 , wherein the toolchain template is a pattern for toolchains. 9. 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 th

Assignees

Inventors

Classifications

  • Office automation; Time management · CPC title

  • G06F8/10Primary

    Requirements analysis; Specification techniques · CPC title

  • Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10503479B2 cover?
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.
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/10. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 10 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).