Patent classifications
G06F11/3608
SYSTEMS, METHODS, AND MEDIA FOR FAULT LOCALIZATION IN DECLARATIVE SPECIFICATION LANGUAGES
In accordance with some embodiments, systems, methods, and media for fault localization in declarative specification languages are provided. In some embodiments, a method comprises: receiving a model in a declarative specification language; querying an automated analysis of the declarative specification language for a counterexample, wherein the counterexample is an instance of the model that does not satisfy a property; using a partial max satisfiability solver to find an instance that satisfies the property; determining one or more differences in an expression from the model between the counterexample and the satisfying instance; analyzing the differences between the counterexample and the satisfying instance; determining a suspicion score for the expression in the model; and causing the suspicion score to be presented.
Feasibility analysis for automatic programmatic generation of a lookup table and automatic programmatic generation of the lookup table that conforms with an error tolerance
Exemplary embodiments may perform feasibility analysis to determine whether it is possible to generate a lookup table that conforms to an error tolerance given a specification of a function or a set of data points that the lookup table attempts to approximate, an indication of breakpoint positions, and a specification of a data type for table values. Where it is determined that it is feasible to generate the lookup table, the lookup table may be automatically programmatically generated. Suggestions of how to modify the breakpoint positions and/or error tolerance may be provided. In addition, a visualization of approximation error and error tolerance, such as a visualization showing a feasibility margin, may be output. New data points may be processed to update table values for an already generated lookup table.
Smart test case generator
Embodiments provide systems, methods, and computer-readable storage media for automated and objective testing of applications or processes. Graphical representations of the application may be analyzed to derive attribute data and identify flows (e.g., possible processing paths that may be accessed during utilization of the application by a user). Test cases may be automatically generated based on the attribute data and the identified flows. Additionally, testing scripts for testing the portions of the application corresponding to each identified flow may be generated using machine learning logic. Once generated, the testing scripts may be executed against the application to test different portions of the application functionality (or processes). Execution of the testing scripts may be monitored to generate feedback used to train the machine learning logic. Reports may be generated based on the monitoring and provided to users to enable the users to resolve any errors encountered during the testing.
Automated honeypot creation within a network
Systems and methods for managing Application Programming Interfaces (APIs) are disclosed. Systems may involve automatically generating a honeypot. For example, the system may include one or more memory units storing instructions and one or more processors configured to execute the instructions to perform operations. The operations may include receiving, from a client device, a call to an API node and classifying the call as unauthorized. The operation may include sending the call to a node-imitating model associated with the API node and receiving, from the node-imitating model, synthetic node output data. The operations may include sending a notification based on the synthetic node output data to the client device.
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 software compiler integrity verification
Systems, computer program products, and methods are described herein for software compiler integrity verification. The present invention is configured to retrieve, from a source code repository, a source code; process, using a first build machine, the source code into a first object code; process, using a second build machine, the source code into a second object code; initiate an integrity verification engine on the first object code and the second object code; decompile, using the integrity verification engine, the first object code to create a first decompiled object code and the second object code to create a second decompiled object code; compare the first decompiled object code with the second decompiled object code; determine a match between the first decompiled object code and the second decompiled object code; and transmit an approval notification.
METHOD OF REORDERING CONDITION CHECKS
Described is a computer-implemented method of reordering condition checks. Two or more condition checks in computer code that may be reordered within the code are identified. It is determined that the execution frequency of a later one of the condition checks is satisfied at a greater frequency than a preceding one of the condition checks. It is determined that there is an absence of side effects in the two or more condition checks. The values of the condition checks are propagated and abstract interpretation is performed on the values that are propagated. It is determined that the condition checks are exclusive of each other, and the condition checks are reordered within the computer code.
STATIC CODE TESTING OF ACTIVE CODE
A code deployment system deploys code to a set of application systems that execute the application, which may be across several tiers of systems that service requests related to the application. At each system, the application executes and is analyzed during execution to determine active code that is loaded by the application during execution, which may include dynamically-generated code. The active code is then analyzed using static analysis to determine security vulnerabilities and errors in the code that was loaded and operated at each application tier. The active code may also be associated with a specific use case or set of inputs that were applied to the application during the monitoring.
METHODS AND SYSTEMS FOR INTEGRATING MODEL DEVELOPMENT CONTROL SYSTEMS AND MODEL VALIDATION PLATFORMS
Methods and systems are described herein for integrating model development control systems and model validation platforms. For example, the methods and systems discussed herein recite the creation and use of a model validation platform. This platform operates outside of the environment of the independently validated models as well as the native platform into which the independently validated models may be incorporated. The model validation platform may itself include a model that systematically validates other independently validated models. The model validation platform may then provide users substantive analysis of a model and its performance through one or more user interface tools such as side-by-side comparisons, recommended adjustments, and/or a plurality of adjustable model attributes for use in validating an inputted model.
SYSTEMS AND METHODS FOR SELECTIVE PATH SENSITIVE INTERVAL ANALYSIS
Abstract interpretation based static analysis tools use relational/non-relational abstract domains to verify program properties. Precision and scalability of analysis vary basis usage of abstract domains. K-limited path-sensitive interval domain is an abstract domain that was conventionally proposed for analysis on industry strength programs. The domain maintains variables' intervals along a configurable K subsets of paths at each program point, which implicitly provides co-relation among variables. When the number of paths at the join point exceeds K, set of paths are partitioned into K subsets, arbitrarily, which results in loss of precision required to verify program properties. To address the above problem, embodiments of the present disclosure provide selective merging of paths in such a way that the intervals computed help verifying more properties. The selective path-sensitive method of the present disclosure is based on the knowledge of variables whose values influence the verification outcome of program properties.