Patent classifications
G06F8/43
DETECTION OF RUNTIME ERRORS USING MACHINE LEARNING
Runtime errors in a source code program are detected in advance of execution by machine learning models. Features representing a context of a runtime error are extracted from source code programs to train a machine learning model, such as a random forest classifier, to predict the likelihood that a code snippet has a particular type of runtime error. The features are extracted from a syntax-type tree representation of each method in a program. A model is generated for distinct runtime errors, such as arithmetic overflow, and conditionally uninitialized variables.
COMPOUND CONDITIONAL REORDERING FOR FASTER SHORT-CIRCUITING
A computing device is provided, including a processor configured to receive source code at a compiler. The source code may include at least one compound conditional having a plurality of conditions. For each condition of the plurality of conditions, the source code may further include a respective code block including instructions to evaluate the condition. For each ordering of a plurality of orderings of the plurality of conditions, the processor may determine that the ordering satisfies one or more legality constraints. For each ordering of the plurality of orderings that satisfy the one or more legality constraints, the processor may determine a respective estimated computational cost for that ordering. The processor may reorder the plurality of conditions to have an ordering that has a lowest estimated computational cost of the plurality of orderings that satisfy the one or more legality constraints.
SOFTWARE DEVELOPMENT FRAMEWORK FOR A CLOUD COMPUTING PLATFORM
A technique is described for evaluating code at a local computing device before deploying the code to a cloud computing platform to be compiled. In an example embodiment, class files including the code in a programming language associated with the cloud computing environment are loaded by a local computer system, for example, associated with a software developer. The local computer system then parses the code to identify elements in the code and checks the identified elements. Errors in the code are identified based on the checking and are displayed to a user (e.g., the developer), for example, via a graphical user interface of a code editor application.
Detection of runtime errors using machine learning
Runtime errors in a source code program are detected in advance of execution by machine learning models. Features representing a context of a runtime error are extracted from source code programs to train a machine learning model, such as a random forest classifier, to predict the likelihood that a code snippet has a particular type of runtime error. The features are extracted from a syntax-type tree representation of each method in a program. A model is generated for distinct runtime errors, such as arithmetic overflow, and conditionally uninitialized variables.
SYSTEMS AND METHODS FOR CONSISTENT FEATURE FLAG EVALUATION
Described herein is a computer implemented method. The method comprises executing an application defining a feature flag, the execution of the application being associated with a user identifier. The method further comprises determining if version data associated with the feature flag and user identifier is stored in a local data store. In response determining that the version data associated with the feature flag and user identifier is stored in the local data store an evaluation request is generated that includes the version data and the user identifier. The evaluation request is then communicated to a feature flag evaluation service.
DETERMINING IF A COMMIT IS PROBLEMATIC
A method of determining if a commit is problematic includes determining a complexity of the commit; determining an author of the commit; determining an experience of the author; determining a component affected by the commit; and assigning a risk value to the commit based on the complexity, the author, the experience of the author and the component affected.
Secure, scalable, table-valued functions in a cloud database
A system comprises at least one hardware processor and a memory storing instructions. When executed, the instructions cause the at least one hardware processor to perform operations comprising receiving, in a compiling process, a request to create a Java user-defined table function (Java UDTF), the Java UDTF including code related to receiving one or more input tables and transforming the one or more input tables to an output table; verifying a construct of the Java UDTF in the request is correct; and compiling to generate execution code that includes the Java UDTF when the construct of the Java UDTF is correct.
METHOD AND SYSTEM FOR AUTOMATED CLASSIFICATION OF VARIABLES USING UNSUPERVISED DISTRIBUTION AGNOSTIC CLUSTERING
The ability to comprehend the context of a given programming artifact and extracting the underlying functionality is a complex task extending beyond just syntactic and semantic analysis of code. All existing automation capabilities, hence heavily depend on manual involvement of domain experts. Even recent approaches leveraging Machine Learning Capabilities are supervised techniques, whereby the dependency on domain experts still remains—in preparing suitable training sets. A method and system for automated classification of variables using unsupervised distribution agnostic clustering has been provided. The present disclosure focuses to tap the flexibility of the code and presents a domain agnostic approach using unsupervised machine learning which automatically extracts the context from source code, by classifying the underlying elements of the code. The method and system do not require any manual intervention and opens a wide range of opportunities in reverse engineering and variable level analysis space.
Techniques for converting jobs into scripts
Techniques for performing management operations may include: creating a job using a graphical user interface (GUI) of an application, wherein the job includes at least one task and the job performs a first management operation including the at least one task; storing first information that describes the job in an application database for the application; and performing first processing that generates a code module for the job, wherein said first processing uses the first information from the application database. The code module may be a script written in a target script language. Multiple providers may converts different types of tasks to scripts. The providers may register prior to performing the first processing. Registering may include each provider declaring each type of task the provider converts to a specified target scripting language. The task types may be organized in a hierarchy of classes or categories.
VERIFICATION OF THE RELIABILITY OF SOFTWARE AND DEVICES AGAINST ASSERTIONS AND GUARANTEES
Computer systems, devices, and associated methods of verifying reliability of instructions for a device are disclosed herein. In one embodiment, a method includes identifying a reliability requirement associated with instructions for a device and receiving, from a user, an assertion in relation to the reliability requirement. The method includes generating a cryptographic assertion tracer (CAT) based at least in part on the received assertion. The method includes receiving assertion-related instructions in association with the CAT and generating a first code verification encrypted reproducible record based at least in part on the CAT and the received assertion-related instructions. The method then includes reporting that the reliability requirement is addressed.