US 12,254,313 B2
Contextualization of code development
Bjarte Sjursen, Tromso (NO); Dino Ilić, Oslo (NO); Yiran Liu, Toronto (CA); Zhengyuan Liu, Toronto (CA); Fatma Mohamed Ali, Nairobi (KE); Tudor Marius Popa, Sibiu (RO); and Victor Manuel Garcia Rosales, Guadalajara (MX)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jun. 9, 2022, as Appl. No. 17/836,267.
Prior Publication US 2023/0401055 A1, Dec. 14, 2023
Int. Cl. G06F 9/44 (2018.01); G06F 8/10 (2018.01); G06F 8/71 (2018.01); G06F 9/445 (2018.01); G06F 9/455 (2018.01); G06F 16/9535 (2019.01); G06F 16/9538 (2019.01); G06F 16/955 (2019.01)
CPC G06F 8/71 (2013.01) [G06F 8/10 (2013.01); G06F 16/9535 (2019.01); G06F 16/9538 (2019.01); G06F 16/955 (2019.01)] 15 Claims
OG exemplary drawing
 
1. An apparatus, comprising:
a computing device including at least one memory having processor-executable code stored therein, and
at least one processor that is configured to execute the processor-executable code, wherein the processor-executable code includes processor-executable instructions that, in response to execution, enable the computing device to perform actions, including:
receiving, at a contextualization device, raw input data that includes version information that is associated with particular code, wherein the version information includes a plurality of pull requests associated with the particular code;
performing, via the contextualization device, a key-phrase extraction on the raw input data to provide a plurality of extracted key phrases;
identifying, via the contextualization device, a list of documents and a list of people based at least in part on the plurality of extracted key phrases;
performing, via the contextualization device, a relevance ranking on the list of documents and the list of people;
based on the relevance ranking, identifying a plurality of documents relevant to the code and a plurality of people relevant to the particular code;
executing a developer environment on a code developer device used by a code developer to view the particular code;
providing, to the code developer device involved in the execution of the developer environment associated with the particular code, information associated with at least one of the plurality of documents relevant to the particular code or the plurality of people relevant to the particular code, wherein the developer environment provides the information associated with the at least one of the plurality of documents relevant to the particular code or the plurality of people relevant to the particular code to the code developer when the code developer views the particular code; and
communicating with one or more code repositories in order to facilitate development of code, during run-time, the computing device further configured for:
identifying additional relevant people and additional relevant documents based on an iterative process that includes, at a first additional iteration:
providing a plurality of extracted key phrases of the first additional iteration by performing a key-phrase extraction on the additional relevant documents;
identifying additional documents of the first additional iteration and additional people of the first additional iteration based at least in part on the plurality of extracted key phrases of the first additional iteration;
performing a relevance ranking on the additional documents of the first additional iteration and the additional people of the first additional iteration; and
based on the relevance ranking of the first additional iteration, identifying additional relevant people and additional relevant documents, such that the additional relevant documents and the additional relevant people are relevant to the particular code.