Patent classifications
G06F8/427
SYSTEM AND A METHOD FOR AUTOMATIC GENERATION OF SMART CONTRACTS ACROSS BLOCKCHAIN PLATFORMS
The present invention provides for a system (100) and a method for generating smart contracts for blockchain platforms. An input received as natural language text is processed into a first parameter to generate a Domain Specific Language (DSL) construct. DSL construct is disintegrated into a stream of tokens and a syntax analysis is performed on the stream of tokens to check if the syntax of the DSL construct matches with a grammar file defined for the DSL construct. Each of the marked lines of the stream of tokens is read and the read marked lines are transformed into an organized structure. A file specific to a target blockchain platform is generated based on a second parameter and the organized structure is mapped with the generated file associated with the target blockchain platform to generate a target code template for generating a deployable target smart contract for the target blockchain platform.
PERMISSIBLE CODE ANALYSIS
A computing system that is configured to receive requests to send computer executable programs to a data owner system associated with a data source for execution of the computer executable program by the data owner system. The data owner system may store to a blockchain a permitted list of programming functions, function libraries, function syntax definitions, and execution environment requirements. The computing system may be further configured to retrieve the permitted lists. The computing system may be further configured to evaluate the computer executable program using the permitted lists to determine if the computer executable program may be executed by the data owner system. The evaluation may be performed by generating an abstract syntax tree of the computer executable program. The computing system may be further configured to send the computer executable program to the data owner system if the computer executable program satisfies the conditions of the permitted lists.
METHOD AND SYSTEM FOR IDENTIFYING STATIC ANALYSIS ALARMS BASED ON SEMANTICS OF CHANGED SOURCE CODE
This disclosure relates generally to method and system for identifying static analysis alarms based on semantics of changed source code. The disclosed technique is integrated in the proprietary static analysis tool that identifies semantics of the change and reports only impacted alarms. The method receives source code and a property over variables to be verified for identifying one or more impacted alarms. Further, an incremental analysis based on the one or more change program points are performed to mark one or more impacted functions in the current version of the source code and then generating a data flow analysis (DFA) and a program dependence graph (PDG) for the one or more impacted functions. Further, a change-based alarm identification technique is utilized for the one or more impacted static analysis alarms from the one or more impacted functions in the current version of source code based on semantics of change.
COMPILER GENERATION FOR PARTIAL EVALUATION
A method for compiling source code may include obtaining an abstract syntax tree (AST) node of an AST generated from the source code. The AST node may include a first value and a second value. The method may further include obtaining, for the AST node, an intermediate representation (IR) graph, determining that the first value is a constant, propagating the first value to the IR graph to obtain a first partially evaluated IR graph, and generating, for the AST node, a compiler. The first partially evaluated IR graph corresponds to a result of executing the compiler. The method may further include determining, by the compiler, that the second value is a constant, propagating, by the compiler, the second value to the first partially evaluated IR graph to obtain a second partially evaluated first IR graph, and executing the AST node using the second partially evaluated IR graph.
AUTOMATIC WORKFLOW GENERATION BASED ON ANNOTATED CODE STATEMENTS
Automatic workflow generation is described. One or more files containing code statements for accessing and modifying information in a destination database is received. The code statements are parsed from the one or more files and dependencies between the code statements are determined. A dependency graph is built by arranging the code statements according to the dependencies between the code statements. The dependency graph is partitioned by identifying at least one barrier code statement having an unclear dependency and dividing the dependency graph between code statements occurring prior to the at least one barrier code statement and code statements occurring after the at least one barrier code statement. Jobs are scheduled based on the partitioned dependency graph, and the code statements are annotated according to the scheduled jobs. A workflow is then automatically generated based on the annotated code statements.
PARTIAL DATA TYPE PROMOTION TO EXPLOIT EFFICIENT VECTORIZATION IN MICROPROCESSORS
Aspects of the invention include a compiler detecting an expression in a loop that includes elements of mixed data types. The compiler then promotes elements of a sub-expression of the expression to a same intermediate data type. The compiler then calculates the sub-expression using the elements of the same intermediate data type.
DETECTING SECRETS IN SOURCECODE
A method for facilitating identification of secrets in source code by using machine learning is provided. The method includes retrieving a plurality of files from a repository, each of the plurality of files including a source code file; parsing the source code file to identify a training feature; associating a predetermined label with the training feature, the predetermined label corresponding to a secret label and a non-secret label; training a model by using the training feature and the corresponding predetermined label; receiving, via a graphical user interface, a test file, the test file including a set of source codes; parsing the set of source codes to identify a feature; and determining, by using the model, a first characteristic of the feature.
Generating closures from abstract representation of source code
A device may receive source code and identify, based on the source code, an abstract syntax tree representing an abstract syntactic structure of the source code. Based on the abstract syntax tree, the device may identify a closure, the closure implementing a function based on at least a portion of the abstract syntax tree. In addition, the device may perform an action based on the closure.
Detecting misconfiguration and/or bug(s) in large service(s) using correlated change analysis
Described herein is a system and method for detecting correlated changes (e.g., between code files and configuration files). For a plurality of code files and a plurality of configuration files, a correlated change model is trained to identify correlated changes across the code files and the configuration files using a machine learning algorithm that discovers change rules using a support parameter, and, a confidence parameter, and, a refinement algorithm that refines the discovered change rules. The correlated change model comprising the change rules is stored. The correlated change model can be used to identify potential issue(s) regarding a particular file (e.g., changed code or configuration file(s)). Information regarding the identified potential issue(s) can be provided to a user.
Program rewrite device, storage medium, and program rewrite method
A program rewrite method executed by a computer, the method includes rewriting a program to output a first output group by performing operations for a first variable among a plurality of variables with a plurality of data types; rewriting the program to output a second output group by performing operations for a second variable among the plurality of variables with a plurality of data types; identifying, from the first output group and the second output group, a third output group that satisfied a predetermined criterion as a result of executing the rewritten programs; determining a data type that corresponds to the third output group as a use data type; and outputting a program in which the use data type is set for each of the plurality of variables.