US 11,960,867 B1
Using natural language latent representation in automated conversion of source code from base programming language to target programming language
Rishabh Singh, San Jose, CA (US); Hanjun Dai, San Jose, CA (US); Manzil Zaheer, Mountain View, CA (US); Artem Goncharuk, Mountain View, CA (US); Karen Davis, Portola Valley, CA (US); and David Andre, San Francisco, CA (US)
Assigned to GOOGLE LLC, Mountain View, CA (US)
Filed by GOOGLE LLC, Mountain View, CA (US)
Filed on May 17, 2023, as Appl. No. 18/198,674.
Application 18/198,674 is a continuation of application No. 17/319,739, filed on May 13, 2021, granted, now 11,693,637.
Claims priority of provisional application 63/025,816, filed on May 15, 2020.
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 8/30 (2018.01); G06F 8/41 (2018.01); G06F 40/279 (2020.01); G06F 40/40 (2020.01); G06N 3/08 (2023.01); G06N 7/01 (2023.01)
CPC G06F 8/436 (2013.01) [G06F 40/279 (2020.01); G06F 40/40 (2020.01); G06N 3/08 (2013.01); G06N 7/01 (2023.01)] 18 Claims
OG exemplary drawing
 
1. A method implemented by one or more processors, the method comprising:
identifying a base natural language description that is descriptive of a base source code snippet that is programmed in a base higher-level programming language;
processing the natural language description, using a neural network model, to generate a sequence of outputs that each comprise a corresponding probability distribution;
generating, based on the corresponding probability distributions of second outputs: a predicted target source code snippet that is in a target higher-level programming language that differs from the base higher-level programming language, and an additional predicted target source code snippet that is in the target higher-level programming language and that includes one or more portions that differ from the predicted target source code snippet;
evaluating the predicted target source code snippet and evaluating the additional predicted target source code snippet;
selecting, based on the evaluations, the additional predicted target source code snippet over the predicted target source code snippet; and
responsive to selecting the additional predicted target source code snippet:
causing the additional predicted target source code snippet to be rendered as output of a software development application,
wherein the predicted source code snippet is not rendered as output of the software development application.