Patent classifications
G06F8/73
SYSTEMS AND METHODS FOR MULTI-SIGNAL PATTERN MATCHING WITH GRAPH PROPAGATION
A method may include: retrieving a plurality of code snippets from code repositories; generating a syntax representation, a property representation for each of the code snippets; receiving a query comprising a query code snippet, natural language keywords, and/or a string pattern; performing string-based matching and parser/syntax tree matching on the query and the tree representations, syntax matching on the query and the syntax representations, and property matching on the query and the property representations, wherein each of the matchings results in a score; combining the scores of the string-based matching, the parser/syntax tree matching, the syntax matching, and/or the property matching; identifying a plurality of code snippets of interest based on the combined scores; classifying the code snippets of interest using a machine learning classifier; outputting a list of the code snippets of interest with their classifications; and training the machine learning classifier based on user feedback.
SYSTEMS AND METHODS FOR MULTI-SIGNAL PATTERN MATCHING WITH GRAPH PROPAGATION
A method may include: retrieving a plurality of code snippets from code repositories; generating a syntax representation, a property representation for each of the code snippets; receiving a query comprising a query code snippet, natural language keywords, and/or a string pattern; performing string-based matching and parser/syntax tree matching on the query and the tree representations, syntax matching on the query and the syntax representations, and property matching on the query and the property representations, wherein each of the matchings results in a score; combining the scores of the string-based matching, the parser/syntax tree matching, the syntax matching, and/or the property matching; identifying a plurality of code snippets of interest based on the combined scores; classifying the code snippets of interest using a machine learning classifier; outputting a list of the code snippets of interest with their classifications; and training the machine learning classifier based on user feedback.
System and method for in-ide code review
Methods, system and apparatus for the augmentation of an integrated development environment (IDE). The system and methods provide for the integration of all aspects of a development workflow to be initiated and completed from within the IDE. Every phase of development, including, grabbing a ticket, working on the ticket, asking teammates questions, requesting feedback, initiating code reviews, performing code reviews, creating feature branches, creating pull requests, creating merge requests and generating audit trails of all interactions users have with the IDE are managed and performed from within the IDE, eliminating the need to context switch or open additional application or websites.
Methods, systems, articles of manufacture and apparatus to detect code defects
Methods, apparatus, systems, and articles of manufacture are disclosed to detect code defects. An example apparatus includes repository interface circuitry to retrieve code repositories corresponding to a programming language of interest, tree generating circuitry to generate parse trees corresponding to code blocks contained in the code repositories, directed acyclic graph (DAG) circuitry to generate DAGs corresponding to respective ones of the parse trees, the DAGs including control flow information and data flow information, abstraction generating circuitry to abstract the DAGs, invariant identification circuitry to extract invariants from the abstracted DAGs, and DAG comparison circuitry to cluster respective ones of the extracted invariants to identify respective ones of the abstracted DAGs with common invariants.
Methods, systems, articles of manufacture and apparatus to detect code defects
Methods, apparatus, systems, and articles of manufacture are disclosed to detect code defects. An example apparatus includes repository interface circuitry to retrieve code repositories corresponding to a programming language of interest, tree generating circuitry to generate parse trees corresponding to code blocks contained in the code repositories, directed acyclic graph (DAG) circuitry to generate DAGs corresponding to respective ones of the parse trees, the DAGs including control flow information and data flow information, abstraction generating circuitry to abstract the DAGs, invariant identification circuitry to extract invariants from the abstracted DAGs, and DAG comparison circuitry to cluster respective ones of the extracted invariants to identify respective ones of the abstracted DAGs with common invariants.
System optimized for performing source code analysis
A computer system for analyzing source code is disclosed. The computer system includes a processor and electronic memory storage. The electronic memory storage includes source code and executable instructions. The processor runs the executable instructions to: access the source code from the electronic memory storage; analyze code elements of the accessed source code to extract node data, edge data, and bindings data; and store the node data, edge data, and bindings data, in a graph database structure in the electronic memory storage.
System optimized for performing source code analysis
A computer system for analyzing source code is disclosed. The computer system includes a processor and electronic memory storage. The electronic memory storage includes source code and executable instructions. The processor runs the executable instructions to: access the source code from the electronic memory storage; analyze code elements of the accessed source code to extract node data, edge data, and bindings data; and store the node data, edge data, and bindings data, in a graph database structure in the electronic memory storage.
DYNAMIC RECOMMENDATIONS FOR RESOLVING STATIC CODE ISSUES
According to some embodiments, systems and methods are provided, comprising receiving a code fragment exhibiting a static code issue; determining, via a trained exemption neural network, whether the received code fragment is exempt or not exempt from resolution; in a case it is not exempt, inputting the code fragment to a trained classification neural network; determining whether the static code issue is a syntactical static code issue or a non-syntactical static code issue; in a case it is a syntactical static code issue, inputting the code fragment to a first trained network to generate a first resolution; and in a case the static code issue is a non-syntactical static code issue, inputting the code fragment to a second trained network to generate a second resolution of the non-syntactical static code issue. Numerous other aspects are provided.
DYNAMIC RECOMMENDATIONS FOR RESOLVING STATIC CODE ISSUES
According to some embodiments, systems and methods are provided, comprising receiving a code fragment exhibiting a static code issue; determining, via a trained exemption neural network, whether the received code fragment is exempt or not exempt from resolution; in a case it is not exempt, inputting the code fragment to a trained classification neural network; determining whether the static code issue is a syntactical static code issue or a non-syntactical static code issue; in a case it is a syntactical static code issue, inputting the code fragment to a first trained network to generate a first resolution; and in a case the static code issue is a non-syntactical static code issue, inputting the code fragment to a second trained network to generate a second resolution of the non-syntactical static code issue. Numerous other aspects are provided.
AUTO-DOCUMENTATION FOR APPLICATION PROGRAM INTERFACES BASED ON NETWORK REQUESTS AND RESPONSES
Disclosed embodiments are directed at systems, methods, and architecture for providing auto-documentation to APIs. The auto documentation plugin is architecturally placed between an API and a client thereof and parses API requests and responses in order to generate auto-documentation. In some embodiments, the auto-documentation plugin is used to update preexisting documentation after updates. In some embodiments, the auto-documentation plugin accesses an on-line documentation repository. In some embodiments, the auto-documentation plugin makes use of a machine learning model to determine how and which portions of an existing documentation file to update.