G06F8/75

NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM FOR STORING INFORMATION PROCESSING PROGRAM, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING APPARATUS

A storage medium storing a program for causing a computer to perform processing including: performing a morphological analysis on a source code to divide the source code into a plurality of reserved words and a plurality of variables; performing, based on a static dictionary defining a relationship between a reserved word and a static code, assigning of the static code corresponding to the reserved word to the reserved word and assigning of a dynamic code to the variable, to thereby generate a compressed code array; registering the variable, the dynamic code assigned to the variable, and an attribute of the variable; calculating a vector of the source code by assigning a predetermined vector to the static code in the array and assigning a vector to the dynamic code in the array by embedding the dynamic code in a vector space based on the attribute corresponding to the dynamic code.

NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM FOR STORING INFORMATION PROCESSING PROGRAM, INFORMATION PROCESSING METHOD, AND INFORMATION PROCESSING APPARATUS

A storage medium storing a program for causing a computer to perform processing including: performing a morphological analysis on a source code to divide the source code into a plurality of reserved words and a plurality of variables; performing, based on a static dictionary defining a relationship between a reserved word and a static code, assigning of the static code corresponding to the reserved word to the reserved word and assigning of a dynamic code to the variable, to thereby generate a compressed code array; registering the variable, the dynamic code assigned to the variable, and an attribute of the variable; calculating a vector of the source code by assigning a predetermined vector to the static code in the array and assigning a vector to the dynamic code in the array by embedding the dynamic code in a vector space based on the attribute corresponding to the dynamic code.

VERIFICATION OF CONTROL COUPLING AND DATA COUPLING ANALYSIS IN SOFTWARE CODE

Methods and systems for verifying control coupling analysis in testing of software code include: selecting a source file to be tested, the source file having source code, the source file selected from a system set including a plurality of source files from one or more nodes in a system; identifying one or more control couples within the source file by performing static analysis on the source code of the source file; defining one or more test runs of the software code, the one or more test runs including one or more of the identified control couples, and the one or more test runs using dynamic analysis; executing the one or more defined test runs; identifying control coupling coverage of the source file based on the dynamic analysis; and generating a control coupling report based on the identified control coupling coverage of the source file.

VERIFICATION OF CONTROL COUPLING AND DATA COUPLING ANALYSIS IN SOFTWARE CODE

Methods and systems for verifying control coupling analysis in testing of software code include: selecting a source file to be tested, the source file having source code, the source file selected from a system set including a plurality of source files from one or more nodes in a system; identifying one or more control couples within the source file by performing static analysis on the source code of the source file; defining one or more test runs of the software code, the one or more test runs including one or more of the identified control couples, and the one or more test runs using dynamic analysis; executing the one or more defined test runs; identifying control coupling coverage of the source file based on the dynamic analysis; and generating a control coupling report based on the identified control coupling coverage of the source file.

Coverage of web application analysis

A method for detecting a defect may include extracting, from application code and using a framework support specification corresponding to a framework, a framework interaction between the application code and the framework. The framework interaction specifies an object used by the application code and managed by the framework. The method may further include performing, using the framework interaction, a dynamic analysis of the application code to obtain a heap snapshot, performing, using the heap snapshot and the framework interaction, a static analysis of the application code, and detecting, by the static analysis, the defect.

Coverage of web application analysis

A method for detecting a defect may include extracting, from application code and using a framework support specification corresponding to a framework, a framework interaction between the application code and the framework. The framework interaction specifies an object used by the application code and managed by the framework. The method may further include performing, using the framework interaction, a dynamic analysis of the application code to obtain a heap snapshot, performing, using the heap snapshot and the framework interaction, a static analysis of the application code, and detecting, by the static analysis, the defect.

Building a package dependencies data structure
11580232 · 2023-02-14 · ·

A system, product and process for building a package dependencies data structure. The method comprises determining a package instance identifier of the package to be processed. The package instance identifier is determined based on a unique identifier of the package to be processed and based on a unique identifier of a dependency sub-tree of the package to be processed in the package instance identifier. The package instance identifier is utilized to determine if a node representing the package to be processed exists or not. In case the node does not exist already in the data structure, the node is created and added.

Method and system for identification of redundant function-level slicing calls

This disclosure relates generally to the field of source code processing, and, more particularly to a method and system for identification of redundant function-level slicing calls. The method disclosed generates program dependence graphs (PDGs) based on a slicing criteria and a function corresponding to the function-level slicing call. Further the method classifies the function-level slicing call into redundant or non-redundant by traversing the PDGs and checking if a predefined condition is satisfied or not. The function-level slicing calls are classified as redundant if the check is not satisfied and are classified as non-redundant if the check is satisfied. The disclosed method can be used in identifying redundant function-level slicing calls in applications such as automated false positive elimination (AFPE), automated test case generation and so on.

System for computer code development environment cloning and authentication using a distributed server network and machine learning

A system is provided for computer code development environment cloning and authentication using a distributed server network and machine learning. In particular, the system may use a machine learning algorithm configured to automatically identify and analyze changes in computing code between two or more environments and publish a record of said changes to a private distributed register stored on a plurality of distributed server nodes. Based on the analysis, the system may generate one or more recommended changes to the source code. If the changes are confirmed by one or more authorized users, the system may automatically implement the changes and publish a confirmation record of the implemented changes to the distributed register. In this way, the system may provide an efficient way to ensure synchronization of code across multiple computing environments.

Usage-based software library decomposition
11550553 · 2023-01-10 · ·

Performing usage-based software library decomposition is disclosed herein. In some examples, a processor device generates a first library graph representing a first software library including multiple functions. The first library graph comprises a plurality of nodes that each correspond to a function of the first software library. The processor device identifies a function within the first software library (“invoked function”) that is directly invoked by an application that depends on the first software library, then generates a call graph including nodes within the first library graph (“dependency nodes”) corresponding to either the invoked function or another function invoked by the invoked function during application execution. Using the call graph, the processor device generates a second software library including only functions of the first software library corresponding to dependency nodes of the call graph.