Patent classifications
G06F8/427
SYSTEM AND METHOD FOR EVALUATION OF SOFTWARE CODE ABSTRACTIONS
Systems, methods, and other embodiments associated with the valuation of software code abstractions are described. In one embodiment, the method includes generating a directed acyclic graph (DAG) comprising a vertex node, children nodes, and a plurality of edges, wherein the vertex node includes a software code abstraction. A DAG is generated for each vertex node associated with a software code abstraction. The directed acyclic graph is analyzed to determine inheritance of the software code abstraction from the vertex node to the children nodes. A weight having a numerical value is assigned to the edges located between the vertex node and the children nodes. The numerical values are parsed to determine a cumulative sum of all of the edges associated with a particular vertex node. The cumulative sums are compared to determine an impact of the software code abstraction associated with each of the vertex nodes.
LINEAGE-DRIVEN SOURCE CODE GENERATION FOR BUILDING, TESTING, DEPLOYING, AND MAINTAINING DATA MARTS AND DATA PIPELINES
In some implementations, an analytics platform may process a data lineage configuration to identify one or more data sources storing one or more data sets associated with a data analytics use case and identify one or more data relations associated with the one or more data sets. The analytics platform may parse a source code template defining one or more functions to build a data mart and a data pipeline that enables the data analytics use case. The source code template may include one or more tokens to specify elements that define the one or more data sources, data sets, and data relations identified in the data lineage configuration. The analytics platform may automatically generate source code that is executable to build a data mart and a data pipeline to enable the data analytics use case based on the data lineage configuration and the source code template.
Transfer learning system for automated software engineering tasks
A transfer learning system is used for the development of neural transformer models pertaining to software engineering tasks. The transfer learning system trains source code domain neural transformer models with attention in various configurations on a large corpus of unsupervised training dataset of source code programs and/or source code-related natural language text. A web service provides the trained models for use in developing a model that may be fine-tuned on a supervised training dataset associated with a software engineering task thereby generating a tool to perform the software engineering task.
Systems and Methods for Evaluating Code Contributions by Software Developers
A tool is provided for evaluating contributions of different software developers to a software project, which considers both the structural value and non-structural value of each developer's contributions. Source code for the project is parsed to generate abstract syntax trees (ASTs) representing the code at different times during the project. The tool may perform both a structural value analysis and a non-structural value analysis of the code contributions of each developer. The structural value analysis for each developer may include a call-commit analysis of a call-commit graph generated from the ASTs to analyze function calls and commits attributable to each developer. The non-structural value analysis for each software developer may include identifying and classifying commits attributable to each developer based on impact of such commits on the project. The tool may then calculate a development value score for each developer based on the structural and non-structural metrics for each developer.
SYSTEMS AND METHODS FOR CODE UNDERSTANDING AND GENERATION
Embodiments described herein a code generation and understanding model that builds on a Transformer-based encoder-decoder framework. The code generation and understanding model is configured to derive generic representations for programming language (PL) and natural language (NL) in code domain via pre-training on unlabeled code corpus, and then to benefit many code-related downstream tasks with fine-tuning. Apart from the denoising sequence-to-sequence objectives widely adopted for pre-training on natural language, identifier tagging and prediction pre-training objective is adopted to enable the model to better leverage the crucial token type information from PL, which specifically are the identifiers assigned by developers.
Automatic translation of computer code
One or more lines of computer code are accessed. An electronic dictionary file is retrieved in response to the accessing of the computer code. The electronic dictionary file contains definitions for a plurality of commands or terms associated with the one or more lines of computer code. Based on the definitions contained in the electronic dictionary file, the one or more lines of computer code are parsed. An output is generated based on the parsing of the computer code. The output contains information explaining the one or more lines of computer code or an intended result of an execution thereof.
Defining data storage within smart contracts
The source code of a smart contract defines a schema for a data map with a map name, a key, and a value, and when executing the smart contract, a virtual machine calls an function that inserts the data map into a data store as defined by the data map schema, the inserted data map comprising the map name defined in the smart contract source code, a key value defined in a transaction for the key, and a value from the transaction for the value.
Graphical user interface and system for defining and maintaining code-based policies
Some embodiments of the invention provide a method for defining code-based policies. The method generates a policy-builder first view of a policy for display in a graphical user interface (GUI) by processing a syntax tree that is generated from a code second view of the policy. The method receives, through the policy-builder first view, a modification to a portion of the policy. To reflect the modification, the method updates a portion of the syntax tree that corresponds to the portion of the policy that is affected by the modification. Based on the updating of the syntax tree, the method updates the code second view by modifying a portion of the code second view that corresponds to the updated portion of the syntax tree.
CODE COMPLETION WITH HOLES
A code completion tool uses a neural transformer model with attention to generate syntactically-correct candidates with holes to complete a partially-formed code snippet. The model is trained to predict the expansion of non-terminal symbols of the production rules of the underlying grammar of the code snippet without being constrained to a left-to-right expansion order. A hole is a non-terminal symbol of the grammar of a programming language that marks a position in a candidate where the code completion engine is not certain of the production rule that should be used to expand the non-terminal symbol. The hole allows the code completion engine to expand other non-terminal symbols in a candidate and allow the user to guide the expansion of the holes in a candidate.
Updating data records by adding editing functions to non-editable display elements
A computer implemented method of editing attributes of data records presented through GUI elements by a webpage. The method including the steps of: using one or more processors of a client terminal hosting a web browser for executing a code for parsing a webpage rendered by the web browser to extract identifier information of one or more GUI elements presented in the webpage, the GUI elements presenting a value of one or more attributes of a data record extracted from a database according to the identifier information. The GUI elements are presented in a non-editable area, identifying a user selection indicative of the GUI elements, rendering an editing GUI element for editing the value, extracting a user input received from a user using the editing GUI element and forwarding to a server hosting the webpage instructions to update the value in the data record according to the user input.