Patent classifications
G06F11/3624
WHAT-IF ANALYSIS FOR NOTEBOOKS
Methods and systems provide for a notebook interactive programming environment, having out-of-order code-cell execution, which communicates potential cell execution outcomes. If an event handler receives an event (e.g., open notebook, code change, code execution, etc.) for a cell, without a request for a specific type of analysis (e.g., data-leakage, stale-state), intra-cell analysis is executed based-on the cell’s abstract semantics, and an abstract state and pre-summaries are output that indicate the cell’s propagation dependency (unbounded variables). If an analysis is associated with the event, starting with the stored abstract state, inter-cell analysis is recursively executed on successor cells having propagation dependencies, until a terminating criteria is reached. Outcomes (e.g., affected cell, line number, bug type, metrics, etc.) are sent via the notebook user-interface to warn users, ahead of concrete code execution, of hypothetical unsafe or safe actions in executing the notebook’s code cells.
INTELLIGENT AUTOMATED FEATURE TOGGLE SYSTEM USING ANNOTATIONS
A method includes receiving, by one or more processors of a computer system, source code, annotating, by the one or more processors of the computer system, features of the received source code using an automated annotation system to provide annotations for the features, relating, by the one or more processors of a computer system, a code execution path of the source code to the features during the annotating, identifying, by the one or more processors of the computer system, a runtime issue associated with the source code, identifying, by the one or more processors of the computer system using a code analytic engine, one or more of the features based on the annotations that are associated with the runtime issue, and automatically disabling, by the one or more processors of the computer system, the identified one or more features associated with the runtime issue.
Dynamic validation framework extension
A programming language framework may be enhanced to provide for dynamic validation. Dynamic validation allows the validator function for any variable to be selected at runtime rather than statically declared at programming-time. Instead of annotating a variable with an annotation that refers to a specific validator function or constraint type, programmers can annotate a variable with an annotation that indicates that the validator function will be selected dynamically at runtime. When a runtime instance of the variable is created, the programming language framework may identify the dynamic validation annotation on the variable, and then use the runtime values in the variable to determine which validator function(s) should be used.
Method and apparatus for generating metadata by a compiler
A method includes receiving a high-level function in a high-level code of an application is received. The method also include identifying resources in a hardware to execute a set of low-level instructions that is generated from the high-level function in the high-level code. One or more processing operations are determined to be performed that is associated with the high-level function in the high-level code. The determining of the one or more processing operations occurs based on architecture of the hardware. The high-level function in the high-level code of the application is compiled into the set of low-level instructions to be executed on the hardware. A plurality of structured metadata is generated and includes information associated with the determining resources in the hardware and further includes information associated with the determining one or more processing operations.
CODE ENRICHMENT THROUGH METADATA FOR CODE SYNTHESIS
According to an aspect of an embodiment, operations for code enrichment through metadata for code synthesis are provided. The operations include acquiring package data that include source code files and package metadata. The operations further include extracting additional metadata associated with software package and preparing metadata features based on the package metadata and the additional metadata. The operations further include identifying a set of target portions of a source code included in the source code files and updating one or more source code files using the metadata features. Such files are updated by performing at least one of a revision of existing code comments, and an addition of new code comments for the target portions. The operations further include generating a dataset of natural language (NL) text features and respective code features and training a language model on a sequence-to-sequence generation task.
System and Method for Identifying Performance Bottlenecks
A computer implemented method includes accessing performance trace data for executed code of multiple services. Symbols corresponding to functions of the executed code are identified. First sequences of functions from the identified symbols are identified and a first performance threshold for each identified first sequence of functions is computed. The method includes receiving an incoming performance trace, detecting second sequences of functions from the incoming performance trace, identifying second sequences equivalent to the first sequences, and comparing performance of the identified second sequences to the first performance threshold for each of the equivalent first sequences to identify second sequences as comprising a performance bottleneck.
Automatically validating data incorporated into a computer program
Embodiments disclosed herein relate to methods, systems, and computer programs for verifying that data incorporated into a computer program is current. The methods, systems, and computer programs compare a source identifier status code associated with the data to a current source identifier status code at the location where the data was obtained. The methods, systems, and computer programs include at least one validation function which determines the validity of the data according to selected parameters. If the source identifier status code and current source identifier status code match and the at least one validation function determines the data is valid, an executable computer program incorporating the data and one or more functions is produced as output.
Testing source code changes
Embodiments are disclosed for testing source code changes. The techniques include generating an incremental intermediate representation of a security vulnerability fix to repair an identified security vulnerability of a source code application. The techniques also include merging the incremental intermediate representation with a full intermediate representation of a previous version of the source code application. The techniques further include generating an impact graph based on the merged intermediate representation. Additionally, the techniques include performing a security vulnerability analysis on the security vulnerability fix based on the merged intermediate representation, the impact graph, and the identified security vulnerability. Further, the techniques include updating the security vulnerability analysis by removing one or more findings that are not related to the impact graph. Also, the techniques include generating a security assessment for the security vulnerability fix based on the updated security vulnerability analysis.
ANALYSIS OF CODE COVERAGE DIFFERENCES ACROSS ENVIRONMENTS
Methods, systems, and computer-readable media for analysis of code coverage differences across environments are disclosed. A code coverage profiling system determines a first code coverage profile associated with execution of program code in a first environment. The first code coverage profile indicates one or more portions of the program code that were executed in the first environment. The code coverage profiling system determines a second code coverage profile associated with execution of the program code in a second environment. The second code coverage profile indicates one or more portions of the program code that were executed in the second environment. The code coverage profiling system performs a comparison of the first code coverage profile and the second code coverage profile. The comparison determines a difference between the portions of the program code that were executed in the first and second environments.
WEB PRESENCE BASED LEGITIMACY ANALYSIS
Web presence data is employed to determine merchant legitimacy. An address of a web page associated with a merchant named on a credit card transaction can be determined. Subsequently, a secure socket layer certificate associated with the web page can be acquired and utilized as a basis for computing a risk score of a merchant. The number of subject alternate names identified by the certificate can be determined and utilized as a factor in risk score computation. Other factors can include similarity of subject alternate names as well as web page code and content. The risk score can be compared to a threshold. When the risk score satisfies the threshold, an action can be triggered, such as generating a customer alert.