IP Library Granted Patent US 12,386,613
Granted Patent B2
US 12,386,613 · App. 17/864,381 · Granted Aug 12, 2025

Natural language code and comment completion generator

Inventors: Nebojša Matić (Belgrade, RS); Ivan Rajković (Belgrade, RS)
Assignee: MikroElektronika D.O.O.
G06F8/73
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,386,613
App. No.
17/864,381
Granted
Aug 12, 2025
Kind
B2
Abstract

A method comprising, transmitting, from an API server to a backend server, one or more domain knowledge files; receiving, at the API server, a natural language input; transmitting the natural language input from the API server to the backend server; receiving, at the API server, a one or more snippets of executable code, one or more comments, or one or more values. A system and computer-readable medium are also disclosed.

Claims (53)

1. A method of programming at least one microcontroller unit for a target system(s), comprising:

transmitting, from an application programming interface server to a backend server, one or more domain knowledge files;

receiving, at the application programming interface server, a triggering command and a natural language input;

configuring the application programming interface server based on the natural language input;

transmitting the natural language input from the application programming interface server to the backend server;

receiving, at the application programming interface server, one or more of: one or more snippets of executable code, one or more comments, or one or more values;

in response to the application programming interface server receiving the natural language input, returning one or more answer(s) and at least one request for further input that rates the one or more answer(s);

when a natural language computing and cognitive computing group finds the one or more answer(s), generating executable code or plain comments following rules set in a query line or query statement; and

programming the at least one microcontroller unit.

2. The method according to claim 1 , further comprising transmitting the one or more one or more snippets of executable code, one or more comments, or one or more values from the application programming interface server to a terminal.

3. The method according to claim 2 , further comprising executing a subset of the one or more snippets of executable code, or one or more values, at the terminal.

4. The method according to claim 1 , further comprising transmitting instructions from a terminal to the application programming interface server upon any change in context.

5. The method according to claim 1 , further comprising registering for service at the application programming interface server, by a terminal.

6. The method according to claim 5 , further comprising transmitting a confirmation of the registration for service from the application programming interface server to the terminal.

7. A method of programming at least one microcontroller unit for a target system(s), comprising:

transmitting, from an application programming interface server to a backend server, one or more domain knowledge files;

receiving, at the application programming interface server, a natural language input;

configuring the application programming interface server based on the natural language input;

transmitting the natural language input from the application programming interface server to the backend server;

receiving, at the application programming interface server, one or more comments;

in response to the application programming interface server receiving the natural language input, returning one or more answer(s) and at least one request for further input that rates the one or more answer(s);

when a natural language computing and cognitive computing group finds the one or more answer(s), generating executable code or plain comments following rules set in a query line or query statement; and

programming the at least one microcontroller unit.

8. The method according to claim 7 , further comprising transmitting the one or more comments from the application programming interface server to a terminal.

9. The method according to claim 8 , further comprising displaying the one or more comments, at the terminal.

10. The method according to claim 7 , further comprising transmitting instructions from a terminal to the application programming interface server upon any change in context.

11. The method according to claim 7 , further comprising registering for service at the application programming interface server, by a terminal.

12. The method according to claim 11 , further comprising transmitting a confirmation of the registration for service from the application programming interface server to the terminal.

13. A system for programming at least one micro controller unit, comprising:

a terminal;

an application programming interface server;

a backend server;

a network connection from the terminal to the application programming interface server configured to transmit natural language input, which transmission activates configuration of the application programming interface server based on the natural language input;

a network connection from the application programming interface server to the backend server configured to transmit domain knowledge files;

a network connection from the backend server to the application programming interface server configured to transmit one or more snippets of executable code, one or more comments, or one or more values;

a network connection from the application programming interface server to the terminal configured to transmit one or more snippets of executable code, one or more comments, or one or more values;

wherein, in response to the application programming interface server receiving the natural language input, the system returns one or more answer(s) and at least one request for further input that rates the one or more answer(s);

when a natural language computing and cognitive computing group finds the one or more answer(s), the system generates executable code or plain comments following rules set in a query line or query statement; and

wherein the system programs the at least one microcontroller unit.

14. The system according to claim 13 , further comprising an input/output device communicatively connected to the terminal.

15. The system according to claim 14 , further comprising a network connection from the terminal to the application programming interface server configured to transmit inputs received at the input/output device.

16. The system according to claim 15 , further comprising a network connection from the application programming interface server to the background server configured to re-transmit representations of inputs received at the input/output device.

17. The system according to claim 13 , further comprising a network connection from the terminal to the application programming interface server configured to provide an alert to changes in context.

18. A non-transitory computer-readable medium containing instructions, which when executed by one or more processors, cause:

an application programming interface server to transmit to a backend server one or more domain knowledge files;

the application programming interface server to receive a natural language input, which activates configuration of the application programming interface server based on the natural language input;

the application programming interface server to transmit the natural language string to the backend server; and

the application programming interface server to receive a one or more snippets of executable code, one or more comments, or one or more values;

in response to the application programming interface server receiving the natural language input, returning one or more answer(s) and at least one request for further input that rates the one or more answer(s);

when a natural language computing and cognitive computing group finds the one or more answer(s), generating executable code or plain comments following rules set in a query line or query statement; and

programming at least one microcontroller unit.

19. A computer-readable medium according to claim 18 , wherein the instructions cause the application programming interface server to transmit one or more comments to a terminal.

20. A computer-readable medium according to claim 19 , wherein the instructions cause the application programming interface server to transmit an instruction to display the one or more comments on a device communicatively connected to the terminal.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2022
From: MATIC, NEBOJSA; RAJKOVIC, IVAN
To: MIKROELEKTRONIKA D.O.O.
Reel/Frame 060501/0065 →
Continuity (2)
Provisional Application 63304569 · Jan 28, 2022
Related Publication 20230244479A1 · Aug 3, 2023
References Cited (40)
US 7287273B2 · Shoji · 2007 [cited by examiner]
US 7444278B2 · Bennett · 2008 [cited by examiner]
US 7865506B1 · Pedersen · 2011 [cited by examiner]
US 8669988B2 · Anderson et al. · 2014 [cited by applicant]
US 9015730B1 · Allen · 2015 [cited by examiner]
US 9519464B2 · Dang et al. · 2016 [cited by applicant]
US 9591099B1 · Pittman · 2017 [cited by examiner]
US 9647905B1 · Pittman · 2017 [cited by examiner]
US 10223082B2 · King et al. · 2019 [cited by applicant]
US 10353796B2 · Frenkiel et al. · 2019 [cited by applicant]
US 10795550B1 · Grayson · 2020 [cited by examiner]
US 10853103B2 · Zhu et al. · 2020 [cited by applicant]
US 10922357B1 · Chennuru · 2021 [cited by examiner]
US 10969954B2 · Jaygarl · 2021 [cited by examiner]
US 11010550B2 · Bellegarda et al. · 2021 [cited by applicant]
US 11455148B2 · Trim · 2022 [cited by examiner]
US 11715006B2 · Bird · 2023 [cited by examiner]
US 20090254880A1 · Gryko et al. · 2009 [cited by applicant]
US 20120173612A1 · Vegesna-Venkata · 2012 [cited by examiner]
US 20150286720A1 · Walsh · 2015 [cited by examiner]
US 20150339394A1 · Jinq · 2015 [cited by examiner]
US 20160210353A1 · Holmes · 2016 [cited by examiner]
US 20160357519A1 · Vargas · 2016 [cited by examiner]
US 20170048254A1 · Avi-Dan · 2017 [cited by examiner]
US 20190158569A1 · Singleton, IV · 2019 [cited by examiner]
US 20200175886A1 · Jain · 2020 [cited by examiner]
US 20200193402A1 · Egan · 2020 [cited by examiner]
US 20200394270A1 · Kaur · 2020 [cited by examiner]
US 20210089587A1 · Gupta · 2021 [cited by examiner]
US 20210232644A1 · Shah · 2021 [cited by examiner]
US 20210303989A1 · Bird · 2021 [cited by examiner]
US 20220269649A1 · Moussa · 2022 [cited by examiner]
US 20220309037A1 · Gutierrez · 2022 [cited by examiner]
US 20230122616A1 · Graham · 2023 [cited by examiner]
US 20230305822A1 · Ferrucci · 2023 [cited by examiner]
EP 3011442B1 · 2016 [cited by applicant]
Raychev, V. et al., Code Completion with Statistical Language Models, Jun. 9-11, 2014, PLDI'14, ACM, United Kingdom. [cited by applicant]
Svyatkovskiy, A., et al., Pythia: AI-Assisted Code Completion System, Nov. 29, 2019, Proceedings of the 25th ACM SIGKDD Int'l Conf. on Knowledge Discovery & Data Mining KDD'19. [cited by applicant]
Rahman, M., et al., A Neural Network Based Intelligent Support Model for Program Code Completion, 2020, vol. 2020, Hindawi Scientific Programming. [cited by applicant]
Nijkamp, E., et al., A Conversational Paradigm for Program Synthesis, Mar. 25, 2022, Salesforce Research, Retrieve at https://arxiv.org/pdf/2203.13474v3.pdf? [cited by applicant]
Cited By (1)
US 12,710,934