IP Library Granted Patent US 12,663,968
Granted Patent B2
US 12,663,968 · App. 18/475,960 · Granted Jun 23, 2026

Automatic validation of computer-generated code method and apparatus

Inventors: Eric Bax (Sierra Madre, CA); Arundhyoti Sarkar (Mountlake Terrace, WA); Ruchita Garde (Jersey City, NJ)
Assignee: YAHOO ASSETS LLC
G06F8/427G06F8/33G06F40/58
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,663,968
App. No.
18/475,960
Filed
Sep 27, 2023
Granted
Jun 23, 2026
Kind
B2
Art Unit
2193
USPC
717/143
Abstract

Techniques for automatically generating a natural language (NL) translation of computer code are disclosed. In one embodiment, a computer-implemented method is disclosed comprising receiving, from a user, a code translation request in connection with code generated by a code generation system based on natural language (NL) input, analyzing the computer-generated code and generating a natural language (NL) translation of the computer-generated code based on the analysis, generating a graphical user interface (GUI) comprising the NL input, the NL translation of the computer-generated code and GUI control elements for receiving input from the user in connection with at least one of the NL input and the NL translation; causing the GUI to be displayed at a client device of the user, and receiving input from the user via at least one GUI control element and causing performance of at least one operation in response to the input.

Claims (51)

1 . A method comprising:

receiving, at a computing device, from a user, a code translation request in connection with code generated by a code generation system based on natural language (NL) input;

analyzing, via the computing device, the computer-generated code and automatically generating a natural language (NL) translation of the computer-generated code based on the analysis, the analysis comprising parsing the computer-generated code to identify constructs in accordance with a syntax of a programming language used in generating the computer-generated code;

generating, via the computing device, a graphical user interface (GUI) comprising the NL input, the NL translation of the computer-generated code and GUI control elements for receiving input from the user in connection with at least one of the NL input and the NL translation;

causing, via the computing device, the GUI to be displayed at a client device of the user; and

receiving, at the computing device, input from the user via at least one GUI control element and causing performance of at least one operation in response to the input.

2 . The method of claim 1 , wherein the NL input is received via the GUI and the at least one operation comprises requesting the code generation system to generate the computer-generated code.

3 . The method of claim 1 , wherein received user input comprises changes to the NL translation and the at least one operation comprises requesting the code generation system to generate updated computer-generated code.

4 . The method of claim 1 , wherein the GUI further comprises the computer-generated code.

5 . The method of claim 4 , wherein received user input comprises a request for the computer-generated code to be processed by a code processing system and the at least one operation comprises requesting the code processing system to process the computer-generated code.

6 . The method of claim 5 , wherein the processing request comprises a request to evaluate the computer-generated code prior to execution of the computer-generated code.

7 . The method of claim 5 , further comprising:

receiving, via the computing device, from the code processing system, results of processing the computer-generated code; and

causing, via the computing device, the GUI displayed at the client device to be updated to include the processing results received from the code processing system.

8 . The method of claim 5 , further comprising:

receiving, via the computing device, from the code processing system, a warning regarding the computer-generated code; and

causing, via the computing device, the GUI displayed at the client device to be updated to include the warning received from the code processing system.

9 . The method of claim 5 , further comprising:

receiving, via the computing device, input from the user via at least one GUI control element, the user input comprising a request for suggested edits to either the NL input or the NL translation; and

causing, via the computing device, the GUI displayed at the client device to be updated to include at least one suggested edit in response to the request for suggested edits.

10 . The method of claim 1 , further comprising:

analyzing, via the computing device, the input received from the user; and

updating, via the computing device, a NL generation module used in analyzing subsequent computer-generated and generating a NL translation based on the analysis.

11 . The method of claim 1 , further comprising:

forwarding, via the computing device, feedback based on the input received from the user to the code generation system.

12 . The method of claim 1 , further comprising:

replacing, via the computing device, the identified constructs with NL versions of the the identified constructs using a set of mappings.

13 . A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions that when executed by a processor associated with a computing device perform a method comprising:

receiving, from a user, a code translation request in connection with code generated by a code generation system based on natural language (NL) input;

analyzing the computer-generated code and automatically generating a natural language (NL) translation of the computer-generated code based on the analysis, the analysis comprising parsing the computer-generated code to identify constructs in accordance with a syntax of a programming language used in generating the computer-generated code;

generating a graphical user interface (GUI) comprising the NL input, the NL translation of the computer-generated code and GUI control elements for receiving input from the user in connection with at least one of the NL input and the NL translation;

causing the GUI to be displayed at a client device of the user; and

receiving input from the user via at least one GUI control element and causing performance of at least one operation in response to the input.

14 . The non-transitory computer-readable storage medium of claim 13 , wherein the NL input is received via the GUI and the at least one operation comprises requesting the code generation system to generate the computer-generated code.

15 . The non-transitory computer-readable storage medium of claim 13 , wherein received user input comprises changes to the NL translation and the at least one operation comprises requesting the code generation system to generate updated computer-generated code.

16 . The non-transitory computer-readable storage medium of claim 13 , wherein the GUI further comprises the computer-generated code and the received user input comprises a request for the computer-generated code to be processed by a code processing system and the at least one operation comprises requesting the code processing system to process the computer-generated code.

17 . The non-transitory computer-readable storage medium of claim 16 , wherein the processing request comprises a request to evaluate the computer-generated code prior to execution of the computer-generated code.

18 . The non-transitory computer-readable storage medium of claim 16 , the method further comprising:

receiving, from the code processing system, results of processing the computer-generated code; and

causing the GUI displayed at the client device to be updated to include the processing results received from the code processing system.

19 . The non-transitory computer-readable storage medium of claim 13 , the method further comprising:

receiving input from the user via at least one GUI control element, the user input comprising a request for suggested edits to either the NL input or the NL translation; and

causing the GUI displayed at the client device to be updated to include at least one suggested edit in response to the request for suggested edits.

20 . A computing device comprising:

a processor; and

a non-transitory storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising:

receiving logic executed by the processor for receiving, from a user, a code translation request in connection with code generated by a code generation system based on natural language (NL) input;

analyzing logic executed by the processor for analyzing the computer-generated code and automatically generating a natural language (NL) translation of the computer-generated code based on the analysis, the analysis comprising parsing the computer-generated code to identify constructs in accordance with a syntax of a programming language used in generating the computer-generated code;

generating logic executed by the processor for generating a graphical user interface (GUI) comprising the NL input, the NL translation of the computer-generated code and GUI control elements for receiving input from the user in connection with at least one of the NL input and the NL translation;

causing logic executed by the processor for causing the GUI to be displayed at a client device of the user; and

receiving logic executed by the processor for receiving input from the user via at least one GUI control element and causing performance of at least one operation in response to the input.

Assignments (2)
SUPPLEMENTAL PATENT SECURITY AGREEMENT Recorded Sep 17, 2025
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 072915/0540 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2023
From: BAX, ERIC; SARKAR, ARUNDHYOTI; GARDE, RUCHITA
To: YAHOO ASSETS LLC
Reel/Frame 065053/0844 →
Continuity (1)
Related Publication 20250103308A1 · Mar 27, 2025
References Cited (14)
US 4706212A · Toma · 1987 [cited by examiner]
US 7197739B2 · Preston · 2007 [cited by examiner]
US 12061880B2 · Chen · 2024 [cited by examiner]
US 20080307400A1 · Dalal · 2008 [cited by examiner]
US 20130041651A1 · Dalal · 2013 [cited by examiner]
US 20140156282A1 · Madere · 2014 [cited by examiner]
US 20150161085A1 · Wolfram · 2015 [cited by examiner]
US 20240020116A1 · Chen · 2024 [cited by examiner]
Gatt, Albert, and Emiel Krahmer. “Survey of the state of the art in natural language generation: Core tasks, applications and evaluation.” Journal of Artificial Intelligence Research 61 (2018): pp. 65-170. (Year: 2018). [cited by examiner]
Bazaga, Adrián, Nupur Gunwant, and Gos Micklem. “Translating synthetic natural language to database queries with a polyglot deep learning framework.” Scientific Reports 11.1 (2021): pp. 1-11. (Year: 2021). [cited by examiner]
Kalita, Jugal. “Automatically generating natural language reports.” International journal of man-machine studies 30.4 (1989): pp. 399-423. (Year: 1989). [cited by examiner]
Bragg, Danielle, et al. “Sign language recognition, generation, and translation: An interdisciplinary perspective.” Proceedings of the 21st international ACM SIGACCESS conference on computers and accessibility. 2019. pp… [cited by examiner]
Han, Sangmok, David R. Wallace, and Robert C. Miller. “Code completion of multiple keywords from abbreviated input.” Automated Software Engineering 18.3 (2011): pp. 363-398. (Year: 2011). [cited by examiner]
Soeken, Mathias, et al. “Automating the translation of assertions using natural language processing techniques.” Proceedings of the 2014 Forum on Specification and Design Languages (FDL). vol. 978. IEEE, 2014. pp. 1-8. … [cited by examiner]