G06F8/52

Performance scaling for binary translation

Embodiments relate to improving user experiences when executing binary code that has been translated from other binary code. Binary code (instructions) for a source instruction set architecture (ISA) cannot natively execute on a processor that implements a target ISA. The instructions in the source ISA are binary-translated to instructions in the target ISA and are executed on the processor. The overhead of performing binary translation and/or the overhead of executing binary-translated code are compensated for by increasing the speed at which the translated code is executed, relative to non-translated code. Translated code may be executed on hardware that has one or more power-performance parameters of the processor set to increase the performance of the processor with respect to the translated code. The increase in power-performance for translated code may be proportional to the degree of translation overhead.

Performance scaling for binary translation

Embodiments relate to improving user experiences when executing binary code that has been translated from other binary code. Binary code (instructions) for a source instruction set architecture (ISA) cannot natively execute on a processor that implements a target ISA. The instructions in the source ISA are binary-translated to instructions in the target ISA and are executed on the processor. The overhead of performing binary translation and/or the overhead of executing binary-translated code are compensated for by increasing the speed at which the translated code is executed, relative to non-translated code. Translated code may be executed on hardware that has one or more power-performance parameters of the processor set to increase the performance of the processor with respect to the translated code. The increase in power-performance for translated code may be proportional to the degree of translation overhead.

Systems and methods for providing a hybrid mobile application

Disclosed are systems and methods for providing a hybrid mobile application. The method may include: receiving specification of at least one feature of a mobile application. The mobile application may be specific to a first programming platform. The method may further include generating the at least one feature based on the specification. The at least one feature may be written in a programming language specific to a second programming platform, and the second programming platform may be different from the first programming platform. The method may also include compiling a programming wrapper based on the at least one feature of the mobile application, combining the at least one feature and the programming wrapper into a programming component, packaging the programming component into the mobile application, and distributing the mobile application in a repository of the first programming platform.

Systems and methods for providing a hybrid mobile application

Disclosed are systems and methods for providing a hybrid mobile application. The method may include: receiving specification of at least one feature of a mobile application. The mobile application may be specific to a first programming platform. The method may further include generating the at least one feature based on the specification. The at least one feature may be written in a programming language specific to a second programming platform, and the second programming platform may be different from the first programming platform. The method may also include compiling a programming wrapper based on the at least one feature of the mobile application, combining the at least one feature and the programming wrapper into a programming component, packaging the programming component into the mobile application, and distributing the mobile application in a repository of the first programming platform.

Compressing binary geometry files for structural products

A method is provided for compressing a binary geometry file for a structural product. The method includes accessing the binary geometry file that contains a geometric model of a structural product that is formed of component parts, the geometric model including an assembly of geometric models of instances of the component parts. The method includes identifying the component parts of the structural product, and generating a master binary geometry file for the structural product that contains geometric models of the component parts. The method includes applying the binary geometry file to a coder that generates a corresponding compressed binary geometry file. The coder searches the binary geometry file for the geometric models of the instances of the component parts, and substitutes references to respective ones of the geometric models of the component parts in the master binary geometry file.

Compressing binary geometry files for structural products

A method is provided for compressing a binary geometry file for a structural product. The method includes accessing the binary geometry file that contains a geometric model of a structural product that is formed of component parts, the geometric model including an assembly of geometric models of instances of the component parts. The method includes identifying the component parts of the structural product, and generating a master binary geometry file for the structural product that contains geometric models of the component parts. The method includes applying the binary geometry file to a coder that generates a corresponding compressed binary geometry file. The coder searches the binary geometry file for the geometric models of the instances of the component parts, and substitutes references to respective ones of the geometric models of the component parts in the master binary geometry file.

System and method for computer security augmented data set algorithm training

Systems and methods for data augmentation used in training an anti-malware (AM) machine learning model are provided herein. In some embodiments, a method for data augmentation may include receiving a first plurality of binary files each having a first binary structure, wherein the first plurality of binary files include one or more known malicious and benign files; modifying the binary structure of each of the first plurality of binary files to produce a second plurality of binary files each having a second binary structure that is different from the first binary structure; using the first and second plurality of binary files to train an AM machine learning model as to which files are malicious and which files are benign; and using the trained AM machine learning model to identify new malicious files.

System and method for computer security augmented data set algorithm training

Systems and methods for data augmentation used in training an anti-malware (AM) machine learning model are provided herein. In some embodiments, a method for data augmentation may include receiving a first plurality of binary files each having a first binary structure, wherein the first plurality of binary files include one or more known malicious and benign files; modifying the binary structure of each of the first plurality of binary files to produce a second plurality of binary files each having a second binary structure that is different from the first binary structure; using the first and second plurality of binary files to train an AM machine learning model as to which files are malicious and which files are benign; and using the trained AM machine learning model to identify new malicious files.

ENABLING A HOST PASSTHROUGH BASED ON A HARDWARE IDENTIFICATION INSTRUCTION

Techniques and mechanisms for a host passthrough to be performed based on the execution of a hardware identification instruction with a virtual machine (VM). In an embodiment, a hypervisor process sets a value of a control parameter corresponding to a resource of the VM. The control parameter indicates whether the VM resource is authorized to avail of a host passthrough functionality of a processor which executes the hypervisor process. The control parameter is evaluated, based on a central processing unit identification (CPUID) instruction of a guest operating system which is executed with the VM, to determine whether the CPUID instruction is to result in a host passthrough or a VM exit. In another embodiment, a shared memory resource is searched to determine whether execution of the CPUID instruction is to retrieve information without the use of either the host passthrough or the VM exit.

Difference validation and auditing (DVA) tool

Systems and methods of cyber hardening software by modifying one or more assembly source files. In some embodiments, the disclosed SME tool transparently and seamlessly integrates into the build process of the assembly source files being modified. For example, upon integration of the disclosed SME tool into the application's development environment, the modifications in the final executable are transparent to the developer and can support other cyber hardening techniques. The SME tool includes a preprocessing tool for identifying attributes (e.g., functions) associated with the assembly source file. The SME tool also includes a transformation tool for making modifications of the assembly source file. In some embodiments, the transformations correspond to applying one or more transformations to the attributes associated with the assembly source file.