Patent ID: 11893385
Assignee: OPEN WEAVER INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 0:
1. A system for automatically generating natural language documentation for source code files, the system comprising:
one or more processors and memory storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:
parsing a source code file to extract a function and generate an abstract syntax tree;
generating first natural language documentation for each of a plurality of program statements within the function using a programming language neural network model;
building a function documentation neural network model by:
extracting functions and associated documentation from a set of training source code files;
evaluating the functions and the associated documentation relative to predetermined quality thresholds comprising at least one of a number of sentences, semantic quality of the documentation, and a date at which a corresponding training source code file was most recently updated;
creating training data comprising multiple representations of source code of the training source code files by substituting variable names with auto-generated synthetic names;
encoding the training data for training the function documentation neural network model using a machine learning algorithm; and
building the function documentation neural network model and saving the function documentation neural network model to file storage;

generating second natural language documentation for the function as a whole by processing a code snippet of the function using the function documentation neural network model;
consolidating the first natural language documentation and the second natural language documentation at a function level, a source file level, and a project level to
create consolidated natural language documentation; and
summarizing multiple sentences of the consolidated natural language documentation into an abstract summary of the source code file by applying a set of rules.