G06F8/423

AUGMENTING AN ORIGINAL CLASS WITH AN AUGMENTING CLASS
20170337038 · 2017-11-23 ·

An augmenting system for augmenting a program's original class with an augmenting class is provided. In some embodiments, the augmenting system receives a definition of an augmenting class that includes a data member. The augmenting system generates resolution code for the computer program. The resolution code is for accessing a reference to an original instance of the original class and providing a reference to a corresponding augmenting instance of the augmenting class. When processing a statement of the computer program that accesses the data member using the reference to the original instance, the augmenting system generates access code for the computer program. The access code uses the resolution code to retrieve the reference to the augmenting instance for the original instance and accesses the data member based on the retrieved reference to the augmenting instance.

PROGRAM CONVERSION METHOD USING COMMENT-BASED PSEUDO-CODES AND COMPUTERREADABLE RECORDING MEDIUM, ONTO WHICH PROGRAM IS RECORDED, FOR IMPLEMENTING
20170329587 · 2017-11-16 ·

The present invention relates to a program conversion method using comment-based pseudo-codes and a computer-readable recording medium, onto which a program is recorded, for implementing the method, and the method by which a computer system converts a program by using comment-based pseudo-codes comprises the steps of: analyzing codes written in a universal programming language so as to confirm pseudo-codes expressed in comments; generating codes, written in a parallel programming language, by converting codes, if the codes belong to a pseudo-code area, into structure members by using the parallel programming language formed to be executed on one or more data parallel compute nodes, or by converting the same into kernel functions, and by converting codes, if the codes belong to the remaining areas, into host codes of the parallel programming language; and simultaneously executing the kernel functions of the generated codes by using the data parallel compute nodes.

User interface isolation verification
11262987 · 2022-03-01 · ·

Systems and methods for developing software applications including user interfaces. A user interface that is developed in a distributed manner may include components or plugins from multiple developers. The plugins can be evaluated prior to approval to determine whether any changes to the plugins are isolated and do not adversely impact other plugins or portions of the user interface. Plugins that are not sufficiently isolated are rejected.

Replacing annotated program code in a networked computing environment

An approach for replacing one program code library (or method(s) thereof) with another program code library (or method(s) thereof) during execution is provided. Specifically, an annotation (e.g., comprising a runtime optimization request and associated performance/measurement criteria) within a program code file will be detected, analyzed, and used to monitor/assess the performance of a running set of methods of the program code file or the like (e.g., a set of initial/original methods). As this is occurring, a set of substitute methods will be identified from a program code library (e.g., based on similarities to the original set of methods) and likewise monitored/assessed. Based on the monitored performance, one or more alternate method(s) may be substituted for the original method(s) in the program code file. Such a capability allows for methods to be evaluated during runtime, and for performance to be optimized by utilizing the highest performing methods.

CONVERSION ASSISTANCE PROGRAM, CONVERSION ASSISTANCE METHOD, AND CONVERSION ASSISTANCE DEVICE

A non-transitory computer-readable medium storing a conversion assistance program that causes at least one computer to execute a process, the process includes embedding an identifier that identifies a line position of a code line of a source code in the source code, in a form that does not affect a conversion result of a conversion tool that converts the source code; and generating relationship information that indicates whether or not there is a change from the code line of the source code to the code line of a post-conversion source code generated by converting a post-embedding source code, which is the source code after the identifier is embedded, using the conversion tool; an addition of the code line to the source code; or a deletion of the code line from the source code, based on the post-conversion source code and the source code.

Build-time resolving and type checking references

Build-time resolution and type-enforcing of corresponding references in different code that references the same value. In response to detecting a directive within the code itself that a first reference in first code is to be correlated with a second reference in second code, and in response to detection that the types of the references are the same, a code generation tool generates correlation code that is interpretable to a compiler as allowing a value of a type of the first reference of a compiled-form of the first code to be passed as the same value of the same type of the second reference of a compiled-form of the second code. The first code, the second code, and the generated correlation code may then be compiled. If compilation is successful, this means that the first and second references are already properly resolved as referring to the same value and type-enforced.

SINGLE-SOURCE-BASE COMPILATION FOR MULTIPLE TARGET ENVIRONMENTS
20170269907 · 2017-09-21 ·

A method for software compilation is disclosed. A compiler may identify features of source code which are unavailable in a target environment for the compilation. The compiler may then translate the identified features into modified features in response to determining that projections for the identified features into the target environment are available. The compiler may then compile the source code dependent upon the modified features.

SYSTEMS AND METHODS FOR REDUCING REGISTER BANK CONFLICTS BASED ON SOFTWARE HINT AND HARDWARE THREAD SWITCH

Mechanisms for reducing register bank conflicts based on software hint and hardware thread switch are disclosed. In some embodiments, an apparatus for thread switching includes a graphics processing unit (GPU) that includes a plurality of register banks to store operands that are assigned at least partially to avoid register bank conflicts. A decoding circuitry checks a thread switching field of a first instruction to be executed by a first thread. The GPU performs a thread switch mechanism to cause a second instruction to be executed by a second thread when the thread switching field of the first instruction is set.

SYSTEM FOR PROVIDING AN ADAPTABLE PLUGIN FRAMEWORK FOR APPLICATION TRANSFORMATION TO CLOUD

A system and a method for application transformation to cloud by conversion of an application source code to a cloud native code is provided. First and second transformation recommendation paths are received and remediation templates based on the same are applied. A pre-defined transformation process flow is applied on application source code based on first and second transformation recommendation paths including a pre-processing stage involving analysis of source code and target framework. A plugin unit is provided which provides an adaptable plugin framework for creating multiple plugin types. The adaptable plugin framework allows addition of semi-automated workflow that applies functionality to accelerate application development or application to cloud transformation or addition of semi-automated steps to accelerate greenfield application development and application source code transformation to cloud native code. The functionality may include assessment of application source code and generation of application source code.

SYSTEMS AND METHODS FOR HANDLING MACRO COMPATIBILITY FOR DOCUMENTS AT A STORAGE SYSTEM

Systems and methods for handling macro compatibility for documents at a storage system are provided. A document to be stored on a network-based storage system is identified. The document is created using a first document processing application that uses a first programming language that is incompatible with the network-based storage system. The document includes macros in the first programming language. A semantic context for an object included in a macro is determined. The macro defines a function to be performed with respect to the object. In response to a determination, based on the semantic context of the object, that the object corresponds to multiple object types, a set of candidate object types for the object is identified. The function is converted into multiple sets of operations represented in a second programming language. Each set of operations is associated with a candidate object type and one set of operations is to be performed with respect to the object responsive to receiving an indication of a candidate object type for the object during execution of the macro. The document including the multiple sets of operations represented in the second programming language is stored on the network-based storage system. The second programming language is compatible with the network-based storage system.