Patents by Inventor Ian Paul Wright

Ian Paul Wright has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20220058019
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for receiving a source code change; computing a distribution of standard coding durations using a model that takes as input features of source code changes; and computing a representative duration for the code change using the distribution of standard coding durations, wherein the representative duration represents a measure of how long a standard developer defined by the model would take to make the code change.
    Type: Application
    Filed: November 5, 2021
    Publication date: February 24, 2022
    Inventors: Ian Paul Wright, Albert Ziegler
  • Patent number: 11188323
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for receiving a source code change; computing a distribution of standard coding durations using a model that takes as input features of source code changes; and computing a representative duration for the code change using the distribution of standard coding durations, wherein the representative duration represents a measure of how long a standard developer defined by the model would take to make the code change.
    Type: Grant
    Filed: May 10, 2019
    Date of Patent: November 30, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ian Paul Wright, Albert Ziegler
  • Patent number: 10860314
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for obtaining a commit time history of a developer entity, wherein the commit time history indicates, for each unit time interval of a plurality of unit time intervals, whether or not the developer entity committed source code during the unit time interval; and generating a model that takes the commit history as input and generates an output sequence of final probabilities, each final probability representing how likely it was that the developer entity was active during the corresponding unit time interval.
    Type: Grant
    Filed: May 10, 2019
    Date of Patent: December 8, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Ian Paul Wright, Albert Ziegler
  • Publication number: 20200341987
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for database query ranking. One of the methods includes receiving a query having a plurality of predicates; executing the query comprising executing the plurality of predicates to generate a plurality of tuple values; generating a query derivation graph for the query generating, from the query derivation graph, a plurality of feature values for each query result of the plurality of query results; computing a score for each query result of the plurality of query results by using the plurality of feature values generated for the query result as input to a trained ranking model; and ranking the plurality of query results according to computed scores generated by the trained ranking model.
    Type: Application
    Filed: April 25, 2019
    Publication date: October 29, 2020
    Inventor: Ian Paul Wright
  • Patent number: 10719315
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media for automatically determining developer team composition. One of the methods includes obtaining a reference set of snapshots for a code base, each snapshot comprising a representation of source code of the code base at a particular time and being associated with a particular project and a particular developer of a team of developers of the code base; selecting a subset of snapshots; dividing the subset into a plurality of time windows; for each time window and for each developer that committed a snapshot to the reference collection of snapshots during the time window, determining a normalized rating of the developer's skills in each of a plurality of developer activity metrics; and aggregating, for each time window, the normalized ratings for each developer to generate a developer team composition for the fixed period of time.
    Type: Grant
    Filed: October 31, 2017
    Date of Patent: July 21, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventor: Ian Paul Wright
  • Publication number: 20200225945
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for receiving a source code change; computing a distribution of standard coding durations using a model that takes as input features of source code changes; and computing a representative duration for the code change using the distribution of standard coding durations, wherein the representative duration represents a measure of how long a standard developer defined by the model would take to make the code change.
    Type: Application
    Filed: May 10, 2019
    Publication date: July 16, 2020
    Inventors: Ian Paul Wright, Albert Ziegler
  • Publication number: 20200225944
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for obtaining a commit time history of a developer entity, wherein the commit time history indicates, for each unit time interval of a plurality of unit time intervals, whether or not the developer entity committed source code during the unit time interval; and generating a model that takes the commit history as input and generates an output sequence of final probabilities, each final probability representing how likely it was that the developer entity was active during the corresponding unit time interval.
    Type: Application
    Filed: May 10, 2019
    Publication date: July 16, 2020
    Inventors: Ian Paul Wright, Albert Ziegler
  • Patent number: 10310853
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for computing coding velocity. One of the methods includes receiving a definition of one or more individual source code developers belonging to a target developer entity. Coding-velocity samples for each individual source code developer belonging to the target developer entity are generated, wherein each coding-velocity sample represents a measure of coding activity by the individual source code developer over a respective time duration. The coding-velocity samples are aggregated according to the definition of the target developer entity. A coding-velocity model for the target developer entity is generated from the aggregated coding-velocity samples of the target developer entity. A value of a particular coding-velocity attribute for the target developer entity is computed using the coding-velocity model.
    Type: Grant
    Filed: April 17, 2017
    Date of Patent: June 4, 2019
    Assignee: Semmle Limited
    Inventor: Ian Paul Wright
  • Publication number: 20190129714
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media for automatically determining developer team composition. One of the methods includes obtaining a reference set of snapshots for a code base, each snapshot comprising a representation of source code of the code base at a particular time and being associated with a particular project and a particular developer of a team of developers of the code base; selecting a subset of snapshots; dividing the subset into a plurality of time windows; for each time window and for each developer that committed a snapshot to the reference collection of snapshots during the time window, determining a normalized rating of the developer's skills in each of a plurality of developer activity metrics; and aggregating, for each time window, the normalized ratings for each developer to generate a developer team composition for the fixed period of time.
    Type: Application
    Filed: October 31, 2017
    Publication date: May 2, 2019
    Inventor: Ian Paul Wright
  • Publication number: 20180300127
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for computing coding velocity. One of the methods includes receiving a definition of one or more individual source code developers belonging to a target developer entity. Coding-velocity samples for each individual source code developer belonging to the target developer entity are generated, wherein each coding-velocity sample represents a measure of coding activity by the individual source code developer over a respective time duration. The coding-velocity samples are aggregated according to the definition of the target developer entity. A coding-velocity model for the target developer entity is generated from the aggregated coding-velocity samples of the target developer entity. A value of a particular coding-velocity attribute for the target developer entity is computed using the coding-velocity model.
    Type: Application
    Filed: April 17, 2017
    Publication date: October 18, 2018
    Inventor: Ian Paul Wright
  • Patent number: 9785432
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for designating developers as having a particular skill. One of the methods includes obtaining a reference collection of snapshots for a code base, wherein each snapshot comprises a representation of source code of the code base at a particular time, each snapshot being associated with a particular developer of a plurality of developers of the code base. A plurality of metrics for each developer that committed at least one snapshot to the reference collection of snapshots is computed. Respective values of the plurality of metrics are partitioned into a plurality of respective partitions, and each of the plurality of developers are assigned to one of the plurality of partitions for each of the plurality of metrics. Developers in one or more top-ranked partitions are designated as developers having a particular skill.
    Type: Grant
    Filed: October 11, 2016
    Date of Patent: October 10, 2017
    Assignee: Semmle Limited
    Inventor: Ian Paul Wright