G06F8/751

DETECTING DUPLICATED CODE PATTERNS IN VISUAL PROGRAMMING LANGUAGE CODE INSTANCES

In various embodiments, a process for detecting duplicated code patterns in visual programming language code instances includes analyzing a repository of graph based visual programming language code instances and detecting a similar code portion pattern duplicated among a group of graph based visual programming language code instances included in the repository of graph based visual programming language code instances including by using an index and tokenizing a flow corresponding to at least one graph based visual programming language code instance in the group of graph based visual programming language code instance. The process includes visually indicating elements belonging to the detected similar code portion pattern within a visual representation of at least one of the group of graph based visual programming language code instances.

Code simplification system
11726779 · 2023-08-15 · ·

Disclosed herein are various embodiments a code simplification system. An embodiment operates by receiving an identification of both a first code object and a second code object directed to producing a similar result. It is determined that the first code object and the second code object each include code subsets that correspond to each other. Differences between the code subsets of the first code object and the second code object are identified. The differences may include at least one of: a different ordering of the plurality of code subsets between the first code object and the second code object, or an additional code subset in the first code object that is not included in the second code object. A notification is provided with the differences, and input is received indicating an action to take by which either the first code object or the second code object are updated.

Indexing source code
20230251859 · 2023-08-10 ·

A computer-implemented method of indexing source code is disclosed. Source code is processed to abstract syntax trees, the abstract syntax trees are linearized and the linearizations are used to build an index structure. The index structure enables one to look up the pattern tree in time linear in its length. In addition, the index structure can be used to identify code clones. Two variants of the index structure are claimed: one based on the trie, which is referred to as the plain index structure or simply the plain index, and one based on the compressed trie, which is referred to as the compressed index structure or simply the compressed index.

SYSTEMS AND METHODS FOR CODE ANALYSIS HEAT MAP INTERFACES

The present application is directed towards systems and methods for providing a heat map interface for analyzing and reporting transformation capabilities of a source installation to a target installation of an application. Characteristics of the source installation are displayed in an easy, intuitive interface, providing improved efficiency in analysis and planning. Furthermore, the interface is interactive, allowing an administrator or user to select and apply transformation dispositions to code objects grouped into regions and sub-regions, providing versatility and accuracy of configuration.

DISCOVERING MATCHING CODE SEGMENTS ACCORDING TO INDEX AND COMPARATIVE SIMILARITY

Code search is used to support various features. Code segments may be indexed using a code structure representation of the code segment. Code segments may be compared for similarity to identify a match with an input code segment using a comparison of logic trees generated for the input code segment and a stored code segment in an entry with a matching index value.

DEPLOYING A STATIC CODE ANALYZER BASED ON PROGRAM SYNTHESIS FROM INPUT-OUTPUT EXAMPLES

Methods, systems, and computer program products for deploying a static code analyzer based on program synthesis from input-output examples. A computer system uses program synthesis on a set of input-output examples of source code edits to generate a rewrite rule that defines a transformation pattern. Based on a determined static code analyzer format, the computer system generates a static code analyzer from the rewrite rule. The static code analyzer includes a find portion that indicates a matching condition for identifying a portion of source code text, and a fix portion that indicates a textual replacement to apply to the portion of source code text matched by the find portion. The computer system deploys the static code analyzer to a development environment, including configuring the static code analyzer to be executable against a source code file within the development environment.

Deploying a static code analyzer based on program synthesis from input-output examples

Methods, systems, and computer program products for deploying a static code analyzer based on program synthesis from input-output examples. A computer system uses program synthesis on a set of input-output examples of source code edits to generate a rewrite rule that defines a transformation pattern. Based on a determined static code analyzer format, the computer system generates a static code analyzer from the rewrite rule. The static code analyzer includes a find portion that indicates a matching condition for identifying a portion of source code text, and a fix portion that indicates a textual replacement to apply to the portion of source code text matched by the find portion. The computer system deploys the static code analyzer to a development environment, including configuring the static code analyzer to be executable against a source code file within the development environment.

EXTENSIBILITY RECOMMENDATION SYSTEM FOR CUSTOM CODE OBJECTS

In some implementations, a device may receive extensibility data related to one or more custom code objects installed in a current environment. The device may classify the one or more custom code objects in one or more respective categories and determine one or more respective complexities associated with the one or more custom code objects based on the extensibility data. The device may generate an extensibility recommendation for deploying the one or more custom code objects to a target environment based on the one or more respective categories and the one or more respective complexities associated with the one or more custom code objects. The extensibility recommendation may be generated based on the one or more custom code objects satisfying extensibility conditions associated with the target environment. The device may provide an output relating to the extensibility recommendation.

CODE SIMPLIFICATION SYSTEM
20230139119 · 2023-05-04 ·

Disclosed herein are various embodiments a code simplification system. An embodiment operates by receiving an identification of both a first code object and a second code object directed to producing a similar result. It is determined that the first code object and the second code object each include code subsets that correspond to each other. Differences between the code subsets of the first code object and the second code object are identified. The differences may include at least one of: a different ordering of the plurality of code subsets between the first code object and the second code object, or an additional code subset in the first code object that is not included in the second code object. A notification is provided with the differences, and input is received indicating an action to take by which either the first code object or the second code object are updated.

System and method for implementing a code audit tool
11816479 · 2023-11-14 · ·

An embodiment of the present invention is directed to a code audit tool that intelligently analyzes and profiles code, such as Python code, based on a variety of previously unmeasured factors and metrics including a set of software dimensions, such as Algorithmic Complexities; Software Sizing Metrics; Anti-Pattern Implementations; Maintainability Metrics; Dependency Mappings; Runtime Metrics; Testing Metrics; and Security Metrics. Once this analysis is complete, a standardized report card or other scoring interface may be generated. This may include analytical findings as well as suggestions and recommend steps so that developers can make informed decisions, enhance their code bases and improve the score assigned to their code.