Method and system for dynamically generating executable source codes for applications

US11526334B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11526334-B2
Application numberUS-202117162100-A
CountryUS
Kind codeB2
Filing dateJan 29, 2021
Priority dateDec 11, 2020
Publication dateDec 13, 2022
Grant dateDec 13, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed herein is a method and a source code generator for dynamically generating an executable source code for an application. Initially, user inputs related to requirements of an application are received from a user. Subsequently, an application flow corresponding to the application is identified and one or more source codes for the application flow are generated using at least one pre-trained code generation model. Further, one or more best-fit source codes for the application are determined based on similarities among each of the one or more source codes. Finally, the executable source code for the application is generated by validating the one or more best-fit source codes based on historical information related to the one or more executable source codes previously generated by the source code generator. In an embodiment, the present disclosure helps to reduce turnaround time and manual efforts required for developing an application.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of dynamically generating an executable source code for an application, the method comprising: receiving, by a source code generator, user inputs related to requirements of an application from a user; identifying, by the source code generator, an application flow corresponding to the application by processing the user inputs; generating, by the source code generator, one or more source codes for the application flow using at least one pre-trained code generation model, wherein the at least one pre-trained code generation model generates the one or more source codes based on the user inputs, and one or more reference source codes retrieved from predetermined code repositories, wherein the at least one pre-trained code generation model is obtained by training a code generation model by performing: classifying the one or more reference source codes, retrieved from the predetermined code repositories, as source code functions and text labels after pre-processing the one or more reference source codes; converting the source code functions into an abstract syntax tree structure; generating a multi-dimensional matrix vector corresponding to the source code functions, based on the abstract syntax tree structure; and training the code generation model based on the multi-dimensional matrix vector for obtaining the at least one pre-trained code generation model, wherein the at least one pre-trained code generation model comprises a technology learning model, an issue resolution model and a code creation model; determining, by the source code generator, one or more best-fit source codes for the application based on similarities among each of the one or more source codes; and generating, by the source code generator, an executable source code for the application by validating the one or more best-fit source codes based on historical information related to one or more executable source codes previously generated by the source code generator. 2. The method as claimed in claim 1 , wherein identifying the application flow comprises: performing one or more pre-processing operations on the user inputs; converting pre-processed user inputs into an encoded vector representation; and processing the encoded vector representation using a pre-trained sentence encoder model. 3. The method as claimed in claim 1 , wherein the predetermined code repositories comprises at least one of a public source code repository, a private source code repository, a public issue repository, a private issue repository, information portals, or learning systems. 4. The method as claimed in claim 1 , wherein generating the one or more source codes for the application flow comprises: comparing vector representation of the application flow with one or more vector representations corresponding to one or more stored source codes; determining a confidence level for each pair of the vector representation based on comparison; and generating the one or more source codes for the application flow by combining the one or more stored source codes corresponding to the vector representation having the confidence level higher than a predefined confidence threshold. 5. The method as claimed in claim 1 , wherein determining the one or more best-fit source codes for the application comprises: comparing each source code with each of the one or more source codes for determining similarities among each of the one or more source codes; clustering the one or more source codes, whose matching percentage is higher than a predetermined matching threshold, into one or more clusters based on the comparison; and selecting the one or more source codes in the one or more clusters as the one or more best-fit source codes for the application. 6. The method as claimed in claim 5 , wherein selecting the one or more source codes in the one or more clusters is based on at least one of: a ranking associated with each of the one or more source codes, wherein the ranking is determined based on whether the user has accepted the one or more source codes previously; and a level of match between results obtained by compiling the one or more source codes and results expected by the user. 7. The method as claimed in claim 1 , wherein generating the executable source code comprises: compiling each of the one or more best-fit source codes based on abstract syntax tree structure corresponding to the application flow, user defined rules, language-specific testing rules, and quality indicators; and selecting the one or more best-fit source codes as the executable source code upon successful compilation. 8. The method as claimed in claim 1 , wherein validating the one or more best-fit source codes is based on weightages associated with each of the one or more best-fit source codes, wherein the weightages for each of the one or more best-fit source codes is computed based on number of times that each of the one or more best-fit source codes are historically accepted by the user. 9. The method as claimed in claim 1 further comprises collecting user feedback indicating a complete acceptance, a partial acceptance, or a rejection of the executable source code by the user, and using the user feedback for training a recommendation model used for validating the one or more best-fit source codes. 10. A source code generator for dynamically generating an executable source code for an application, the source code generator comprising: a processor; and a memory, communicatively coupled to the processor, wherein the memory stores processor-executable instructions, which on execution, cause the processor to: receive user inputs related to requirements of an application from a user; identify an application flow corresponding to the application by processing the user inputs; generate one or more source codes for the application flow using at least one pre-trained code generation model, wherein the at least one pre-trained code generation model generates the one or more source codes based on the user inputs, and one or more reference source codes retrieved from predetermined code repositories, wherein the processor is further configured to train a code generation model to obtain the at least one pre-trained code generation model by: classifying the one or more reference source codes, retrieved from the predetermined code repositories, as source code functions and text labels after pre-processing the one or more reference source codes; converting the source code functions into an abstract syntax tree structure; generating a multi-dimensional matrix vector corresponding to the source code functions, based on the abstract syntax tree structure; and training the code generation model based on the multi-dimensional matrix vector for obtaining the at least one pre-trained code generation model, wherein the at least one pre-trained code generation model comprises a technology learning model, an issue resolution model and a code creation model; determine one or more best-fit source codes for the application based on similarities among each of the one or more source codes; and generate an executable source code for the application by validating the one or more best-fit source codes based on historical information related to one or more executable source codes previously generated by the source code generator. 11. The source code generator as claimed in claim 10 , wherein the processor identifies the application flow by: performing one or more pre-processing operations on the user inputs; converting pre-processed user inputs into an encoded vector representation; and processing the encoded vector representation using a pre-trained sentenc

Assignees

Inventors

Classifications

  • Combinations of networks · CPC title

  • Machine learning · CPC title

  • Inference or reasoning models · CPC title

  • Syntactic analysis · CPC title

  • Non-supervised learning, e.g. competitive learning · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11526334B2 cover?
Disclosed herein is a method and a source code generator for dynamically generating an executable source code for an application. Initially, user inputs related to requirements of an application are received from a user. Subsequently, an application flow corresponding to the application is identified and one or more source codes for the application flow are generated using at least one pre-trai…
Who is the assignee on this patent?
Wipro Ltd
What technology area does this patent fall under?
Primary CPC classification G06F8/35. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 13 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).