US 11,900,080 B2
Software development autocreated suggestion provenance
Mark Alistair Wilson-Thomas, Mercer Island, WA (US); and German David Obando Chacon, Kirkland, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jul. 9, 2020, as Appl. No. 16/924,316.
Prior Publication US 2022/0012019 A1, Jan. 13, 2022
Int. Cl. G06F 8/33 (2018.01); G06F 8/70 (2018.01)
CPC G06F 8/33 (2013.01) [G06F 8/70 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A software development system having a user interface for interaction with a first software developer editing or reviewing source code, the software development system comprising:
a digital memory; and
a processor in operable communication with the digital memory, the processor configured to perform suggestion filtering steps which include automatically (a) obtaining provenance metadata of an automatically created software development suggestion (ACSDS), the provenance metadata of the ACSDS indicating implicit or explicit software developer endorsement of the ACSDS by at least one other software developer than the first software developer, (b) assigning a provenance-derived trust score to the ACSDS based at least in part on the provenance metadata of the ACSDS but not based on whether the ACSDS matches an application programming interface antipattern and not based on whether the ACSDS matches a source code pattern, (c) comparing the provenance-derived trust score to a criterion for supplying the ACSDS to a suggestion presentation interface of a software development tool or to a criterion for withholding the ACSDS from the suggestion presentation interface of the software development tool, and (d) supplying the ACSDS to the suggestion presentation interface of the software development tool or withholding the ACSDS from the suggestion presentation interface of the software development tool and from any other presentation by the software development system to any other software developer, in response to a result of the comparing;
whereby the software development system presents the ACSDS to the first software developer more often or less often depending on whether other software developers have or have not at least implicitly endorsed the ACSDS; and
whereby the software development system adopts the implicitly endorsed ACSDS when the first software developer applies the implicitly endorsed ACSDS to modify the source code using the software development tool.