Compiling Code Patents (Class 717/140)
  • Patent number: 8850410
    Abstract: A system and method for improving software maintainability, performance, and/or security by associating a unique marker to each software code-block; the system comprising of a plurality of processors, a plurality of code-blocks, and a marker associated with each code-block. The system may also include a special hardware register (code-block marker hardware register) in each processor for identifying the markers of the code-blocks executed by the processor, without changing any of the plurality of code-blocks.
    Type: Grant
    Filed: January 29, 2010
    Date of Patent: September 30, 2014
    Assignee: International Business Machines Corporation
    Inventors: Ramanjaneya S. Burugula, Joefon Jann, Pratap C. Pattnaik
  • Patent number: 8849794
    Abstract: A method system and program for performing a query in which context and information including opcodes accompanies an execution plan for the query. The opcodes determine operations to retrieve a set of bind variables. The execution plan and context information shared by a plurality of application programs.
    Type: Grant
    Filed: March 21, 2011
    Date of Patent: September 30, 2014
    Assignee: Oracle International Corporation
    Inventors: Kumar Rajamani, Namit Jain
  • Patent number: 8850409
    Abstract: A method is provided for translating sets of constraint declarations to imperative code sequences based on defining an instantiatable object per set, inserting calls to a notification callback mechanism on state modification and defining calls in the constraint context as imperative code sequences that, in response to these callbacks, take actions to maintain these constraints.
    Type: Grant
    Filed: May 21, 2008
    Date of Patent: September 30, 2014
    Assignee: OptumSoft, Inc.
    Inventor: David R. Cheriton
  • Patent number: 8850411
    Abstract: The exemplary embodiments provide a compiler for a reconfigurable integrated circuit having reconfigurable computational elements with a plurality of contexts. An exemplary compiler generates a compilation comprising a designation of a first type of reconfigurable computational element, the data input linkage or the data output linkage for a first action, and a portion of a first configuration for the first type of reconfigurable computational element comprising a first task identifier and the first action identifier. The reconfigurable integrated circuit utilizes the first task identifier and a run status designation in enabling and disabling corresponding contexts for execution by the reconfigurable computational elements. The first configuration, typically generated in a binding process, further comprises a first input data source address from the first data input linkage or a first output data destination address from the first data output linkage.
    Type: Grant
    Filed: June 20, 2007
    Date of Patent: September 30, 2014
    Assignee: Element CXI, LLC
    Inventors: Steven Hennick Kelem, Douglas A. Landauer
  • Publication number: 20140289714
    Abstract: Embodiments of the claimed subject matter are directed to methods and a system that allows an application comprising a single code set under the COBOL Programming Language to execute in multiple platforms on the same multi-platform system (such as a mainframe). In one embodiment, a single code set is pre-compiled to determine specific portions of the code set compatible with the host (or prospective) platform. Once the code set has been pre-compiled to determine compatible portions, those portions may be compiled and executed in the host platform. According to these embodiments, an application may be executed from a single code set that is compatible with multiple platforms, thereby potentially reducing the complexity of developing the application for multiple platforms.
    Type: Application
    Filed: June 6, 2014
    Publication date: September 25, 2014
    Inventor: Mark Neft
  • Patent number: 8843907
    Abstract: Disclosed is a programming language system that can produce executable program code from source code, even if the source code contains errors. In embodiments, the programming language system includes a fault tolerant compiler that can detect errors in the source code, but nonetheless produce valid compiler constructs representative of the errors in the source code. Accordingly, the compilation process can proceed despite errors in the source code and produce executable program code.
    Type: Grant
    Filed: December 20, 2011
    Date of Patent: September 23, 2014
    Assignee: MyEzApp Inc.
    Inventor: Sichun Xu
  • Patent number: 8843920
    Abstract: A software development method defers certain implementation details until load time. A programmer first annotates, in source code, a selected set of software components using metadata (such as Java-style annotations) that define one or more criteria—e.g., criteria relating to the state of the target hardware platform, the capabilities of the platform, or arbitrary user input. The annotated source code files are then compiled to create one or more intermediate code files (e.g., Java bytecode files). During load time of the resulting intermediate code files, one or more of the selected set of software components are loaded from the intermediate code files based on the criteria.
    Type: Grant
    Filed: September 15, 2009
    Date of Patent: September 23, 2014
    Assignee: Advanced Micro Devices, Inc.
    Inventors: Gary Frost, Shrinivas Joshi
  • Patent number: 8843904
    Abstract: Architecture-dependent assets are automatically built and retargeted. An asset originally built for one architecture is downloaded and automatically retargeted on another architecture. This automatically retargeting may be performed on demand, at runtime.
    Type: Grant
    Filed: January 26, 2010
    Date of Patent: September 23, 2014
    Assignee: International Business Machines Corporation
    Inventors: Henrique Andrade, Judah M. Diament, Bugra Gedik, Anton V. Riabov
  • Patent number: 8843906
    Abstract: Disclosed herein are methods and compilers for compiling code. The methods and compilers disclosed can compile a callable compilable unit of code free of declarations and assertions that identify attributes of arguments expressed therein. The attributes of the arguments in the callable compilable unit of code are inferred by the compilers and methods disclosed herein from information provided by a call site that calls a compiler to compile the callable compilable unit of code.
    Type: Grant
    Filed: October 16, 2006
    Date of Patent: September 23, 2014
    Assignee: The MathWorks, Inc.
    Inventors: Martin Clark, Frederick Mattsson Smith, John Elliott, Ricardo Losada
  • Publication number: 20140282439
    Abstract: Systems and methods are migration assistance using compiler metadata. An example system includes a data module that receives data associated with a compiler. The data includes a set of rules associated with the compiler. The example system also includes an extraction module that extracts from the data, compiler metadata including the set of rules associated with the compiler. The example system further includes a database that stores the compiler metadata. The example system also includes a patch module that receives a program including source code, retrieves from the database the compiler metadata, and generates, without compiling the received program, a set of migration patches based on the received program and the compiler metadata. The set of migration patches includes one or more changes to the received program to abide by the set of rules associated with the compiler.
    Type: Application
    Filed: May 2, 2013
    Publication date: September 18, 2014
    Inventor: Red Hat, Inc.
  • Publication number: 20140282438
    Abstract: An apparatus is provided for building an application. The apparatus may include at least one memory and at least one processor configured to generate a build of an application in a C Object-Oriented Programming Language. The processor is also configured to generate a unity file including a plurality of source files having references to one or more header files. At least two of the source files include references to a same header file. The processor is also configured to compile the unity file including the plurality of source files to obtain an object file. The processor is also configured to link the object file to generate an executable of the application. Corresponding computer program products and methods are also provided.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Inventor: Michael Liberant
  • Publication number: 20140282366
    Abstract: In accordance with embodiments of the invention, a set of Microinstructions define a set of primitives or instructions to execute a business process modeling language in accordance with the semantics defined by the language. The Microinstructions define atomic operations that can be executed as part of a running process. The Microinstructions can be combined into Microprograms which map to business processes of the business process modeling language, for example BPMN. The Microprograms can be compiled using a suitable compiler into any execution language. The Microinstructions thereby provide flexibility for executing business process modeling languages in any business process execution language.
    Type: Application
    Filed: March 15, 2013
    Publication date: September 18, 2014
    Inventors: Patricio Osvaldo Barletta, Julian Esevich Sanchez, Eduardo Adrian Cominguez
  • Publication number: 20140282440
    Abstract: Techniques for transitioning between code-based and data-based execution forms (or models) are disclosed. The techniques can be used to improve the performance of computing systems by allowing the execution to transition from one of the execution models to another one of the execution models that may be more suitable for carrying out the execution or effective processing of information in a computing system or environment. The techniques also allow switching back to the previous execution model when that previous model is more suitable than the execution model currently being used. In other words, the techniques allow transitioning (or switching) back and forth between a data-based and code-based execution (or information processing) models.
    Type: Application
    Filed: March 14, 2014
    Publication date: September 18, 2014
    Applicant: TERADATA CORPORATION
    Inventor: Jeremy L. Branscome
  • Patent number: 8839187
    Abstract: A memory map wrapper may be used to provide an interface between a model and a system with which the model interacts. The memory map wrapper may be designed to provide an interface for source code implementing the model. The memory-map wrapper may include a source code section that describes a mapping between memory regions corresponding to first and second sets of signals and between the source code implementing the model, the mapping defined using macros in memory map wrapper code in which configuration information describing the first and second signals is provided as one or more parameters associated with the source code section. Additionally, a preprocessor component may expand the macros in the memory map wrapper code based on the provided one or more parameters to output expanded memory map wrapper code.
    Type: Grant
    Filed: November 24, 2009
    Date of Patent: September 16, 2014
    Assignee: The Mathworks, Inc.
    Inventor: Ying-On Yan
  • Patent number: 8839212
    Abstract: A code generator and multi-core framework are executable in a computer system to implement methods as disclosed herein, including a method for the code generator to automatically generate multi-threaded source code from functional specifications, and for the multi-core framework, which is a run time component, to generate multi-threaded task object code from the multi-threaded source code and to execute the multi-threaded task object code on respective processor cores. The methods provide transparency to the programmer, and during execution, provide automatic identification of processing parallelisms. The methods implement Consume-Simplify-Produce and Normalize-Transpose-Distribute operations to reduce complex expression sets in a functional specification to simplified expression sets operable in parallel processing environments through the generated multi-threaded task object code.
    Type: Grant
    Filed: September 30, 2013
    Date of Patent: September 16, 2014
    Assignee: Texas Tech University System
    Inventors: Daniel E. Cooke, J. Nelson Rushton, Brad Nemanich
  • Patent number: 8839191
    Abstract: An input unit of a compiler accepts a second program called by a first program. A converting unit of the compiler converts the accepted second program into a program in which an initialization instruction and a return instruction are additionally written as instructions executed when an error occurs. An execution control unit of an execution controller executes an execution file having the program where the instructions are additionally written by the compiler in cooperation with a predetermined function group. If an error occurs, an error processing unit of the execution controller initializes a resource based on the initialization instruction described in the program in the execution file having the error, and returns to a caller program based on the return instruction.
    Type: Grant
    Filed: August 21, 2012
    Date of Patent: September 16, 2014
    Assignee: Fujitsu Limited
    Inventors: Kenji Ota, Tsutomu Enokida
  • Patent number: 8838874
    Abstract: A method, an article of manufacture, and system for heapifying an object. The method includes: storing, in a working set, a first address of a certain object in a stack frame, copying the certain object into the heap area and holding a second address of the certain object in the heap area, following each stack frame to find a pointer pointing to the first address stored in the working set, converting the address that the pointer points to into the second address, proceeding to a next stack frame, where the address conversion includes storing an address of another object in the working set if the converted address is stored as a value of a field of the other object in the stack frame, and terminating the process in response to a lack of pointers found in the stack frame to point to the addresses stored in the working set.
    Type: Grant
    Filed: November 2, 2011
    Date of Patent: September 16, 2014
    Assignee: International Business Machines Corporation
    Inventors: Hiroshi Horii, Kiyokuni Kawachiya
  • Patent number: 8832669
    Abstract: Generating decode time instruction optimization (DTIO) object code that enables a DTIO enabled processor to optimize execution of DTIO instructions. A code sequence configured to facilitate DTIO in a DTIO enabled processor is identified by a computer. The code sequence includes an internal representation (IR) of a first instruction and an IR of a second instruction. The second instruction is dependent on the first instruction. A schedule associated with at least one of the IR of the first instruction and the IR of the second instruction is modified. The modifying includes generating a modified schedule that is configured to place the first instruction next to the second instruction. An object file is generated based on the modified schedule. The object file includes the first instruction placed next to the second instruction. The object file is emitted.
    Type: Grant
    Filed: August 5, 2013
    Date of Patent: September 9, 2014
    Assignee: International Business Machines Corporation
    Inventors: Robert J. Blainey, Michael K. Gschwind, James L. McInnes, Steven J. Munroe
  • Patent number: 8832672
    Abstract: A compiler compiles code in a target program by reserving at least one register for use by a dynamic binary optimizer during target program execution. When the target program is subsequently executed, the dynamic binary optimizer stores needed state information in the reserved register(s), without affecting register state of the target program. Preferably, the state information in the reserved register(s) includes addressing information for a context save area, used for saving processor state when switching context from the target program to the dynamic binary optimizer.
    Type: Grant
    Filed: January 28, 2011
    Date of Patent: September 9, 2014
    Assignee: International Business Machines Corporation
    Inventor: William J. Schmidt
  • Patent number: 8832670
    Abstract: A method of generating a symbol table for a programmable logic controller which executes high-level language program is provided. The method includes reading the high-level language program and an association table specifying relationship between devices controlled by the programmable logic controller and variable names in the high-level language program; compiling and linking the high-level language program and the association table for determining a physical address for each of the variable names and the corresponding devices; generating the symbol table by the compiling and linking, the symbol table defining the determined physical address for each of the devices; and storing the symbol table in the memory of the programmable logic controller. A programmable logic controller executing the high-level language program and storing the symbol table is also provided.
    Type: Grant
    Filed: July 1, 2011
    Date of Patent: September 9, 2014
    Assignee: Mitsubishi Electric Corporation
    Inventor: Noriyasu Fukatsu
  • Patent number: 8832655
    Abstract: A system, method, and computer-readable medium, is described that finds similarities among programming applications based on semantic anchors found within the source code of such applications. The semantic anchors may be API calls, such as Java's package and class calls of the JDK. Latent Semantic Indexing may be used to process the application and semantic anchor data and automatically develop a similarity matrix that contains numbers representing the similarity of one program to another.
    Type: Grant
    Filed: September 29, 2011
    Date of Patent: September 9, 2014
    Assignee: Accenture Global Services Limited
    Inventor: Mark Grechanik
  • Patent number: 8826248
    Abstract: A system, method and computer program product for integrating at least one analytical or modeling driver into an existing business analytic environment. The system comprises a BAMS (Business Analytics and Mathematical Sciences) driver, implemented on the memory device and run by the processor, loads a real database driver and redirects a request from a client application to the real database driver. An extension driver, invoked by the BAMS driver, provides an interface to a data modeling or processing software and converts the interface from a software environment compiled by a programming language to another software environment targeted to another programming language. The extension driver extends or overrides functionalities of the BAMS driver. Implementing the BAMS driver and the extension driver in the existing business analytic environment do not require any change made on the existing business analytic environment.
    Type: Grant
    Filed: August 29, 2012
    Date of Patent: September 2, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael Adendorff, Heng Cao, David L. Jensen, Chen Jiang, Tarun Kumar
  • Patent number: 8826246
    Abstract: A system and method for partial object dematerialization within a virtual machine (VM), and particularly Java Virtual Machines. In accordance with an embodiment, the system allows for applying partial object dematerialization to situations where the object is either created locally, or is retrieved from external code where it might have already escaped. In accordance with an embodiment, the system comprises a computer; a virtual machine for executing a software application; memory space for the application byte code and the generated machine code; and a compiler with an object dematerializer, and dematerializer injector. Runtime partial object dematerialization code is injected into the intermediate code representation in such a way that additional or standard optimizer techniques can be applied to it.
    Type: Grant
    Filed: May 12, 2009
    Date of Patent: September 2, 2014
    Assignee: Oracle International Corporation
    Inventors: Marcus Lagergren, Patrik Torstensson
  • Patent number: 8826247
    Abstract: There is provided a system, method and computer program product for integrating at least one analytical or modeling driver into an existing business analytic environment. The system comprises a BAMS (Business Analytics and Mathematical Sciences) driver, implemented on the memory device and run by the processor, loads a real database driver and redirects a request from a client application to the real database driver. An extension driver, invoked by the BAMS driver, provides an interface to a data modeling or processing software and converts the interface from a software environment compiled by a programming language to another software environment targeted to another programming language. The extension driver extends or overrides functionalities of the BAMS driver. Implementing the BAMS driver and the extension driver in the existing business analytic environment do not require any change made on the existing business analytic environment.
    Type: Grant
    Filed: February 16, 2012
    Date of Patent: September 2, 2014
    Assignee: International Business Machines Corporation
    Inventors: Michael Adendorff, Heng Cao, David L. Jensen, Chen Jiang, Tarun Kumar
  • Publication number: 20140245271
    Abstract: Compiler based obfuscation is described. To protect portions of a code project with obfuscations, the code is modified within a compiler to produce one or more modifications that obfuscate the code as part of a compilation process. A compiled version of the code is generated having the modifications that are produced within the compiler. In one approach, the compiler is configured to consume an obfuscation description that indicates portions of the code to protect and specifies the modifications to make to the indicated portions. Various different modifications of code may be performed during the compilation process to implement corresponding obfuscation features. For example, the modifications made within a compiler may include, but are not limited to, modifications designed to enable tamper detection, anti-debugging, and/or encryption of the code.
    Type: Application
    Filed: February 28, 2013
    Publication date: August 28, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Olaf Alexander Miller, Ten Tzen, Hakki T. Bostanci, Michael T. Pashniak, Kalpesh S. Patel
  • Patent number: 8819458
    Abstract: An information processing apparatus includes: a program executing unit which interprets and executes codes of a computer program created in a procedural language in an environment with a tamper resistant performance, wherein a security attribute and an authentication key are provided in units of functions in the computer program executed by the program executing unit, and wherein the program executing unit executes authentication processing with the authentication key for executing the function, which makes it possible to execute the function based on the security attribute.
    Type: Grant
    Filed: January 30, 2012
    Date of Patent: August 26, 2014
    Assignee: Sony Corporation
    Inventor: Tadashi Morita
  • Patent number: 8819649
    Abstract: Methods, systems, and computer program products are provided for profiling source code to enable improved source code execution. A runtime engine includes a parser, a bytecode generator, an execution controller, an interpreter, a just-in-time (JIT) compiler, and a profile generator. The parser receives source code coded in a dynamic language and parses the source code to generate parsed source code. The bytecode generator converts the parsed source code to bytecode. The interpreter is configured to interpret the bytecode when enabled by the execution controller. The JIT compiler is configured to compile the bytecode when enabled by the execution controller. The profile generator generates profile information from the bytecode and stores the profile information. The execution controller enables the interpreter or the JIT compiler to perform their respective functions based on the profile information.
    Type: Grant
    Filed: September 9, 2011
    Date of Patent: August 26, 2014
    Assignee: Microsoft Corporation
    Inventors: Louis Lafreniere, Curtis Man, Jedrzej Miadowicz, Paul Leathers, Jitendra Kumar, Arjun Bijanki
  • Patent number: 8819647
    Abstract: Nested virtual machines cooperate with one another to improve system performance. In particular, an outer virtual machine performs tasks on behalf of an inner virtual machine to improve system performance. One such task includes translation of instructions for the inner virtual machine.
    Type: Grant
    Filed: January 25, 2008
    Date of Patent: August 26, 2014
    Assignee: International Business Machines Corporation
    Inventors: Marcel Mitran, Ali I. Sheikh
  • Patent number: 8819653
    Abstract: In one embodiment, a method comprises generating a first executable program optimized for an executable system based on compiling a program relative to an initial set of independent optimization metrics; determining first performance metrics based on the executable system executing the first executable program; adjusting the initial set of independent optimization metrics based on the first performance metrics to generate a second set of independent optimization metrics; and generating a second executable program, based on compiling the program relative to the second set of independent optimization metrics, for improved execution of the program in the executable system.
    Type: Grant
    Filed: January 30, 2012
    Date of Patent: August 26, 2014
    Assignee: Cisco Technology, Inc.
    Inventors: Bryan Turner, Billy Gayle Moon
  • Patent number: 8819624
    Abstract: Device simulators and methods for using the same are disclosed. In some embodiments, the device simulators are capable of permitting accurate pixel to pixel and inch to inch mapping between a simulated display and a display of a target device. Web application development tools utilizing such simulators are also disclosed. In some embodiment, such web application development tools provide a convenient method to convert electronic document source files to interactive document web applications for multiple operating systems and form factors.
    Type: Grant
    Filed: September 26, 2011
    Date of Patent: August 26, 2014
    Assignee: Intel Corporation
    Inventor: Zhaorong Hou
  • Publication number: 20140237456
    Abstract: The method includes receiving, by a data plane definition language compiler, a first data plane definition describing customized functionality of a data plane of a first network application, and compiling the data plane definition to generate a first set of customized data processing modules and a program interface that allows a control plane of the network application to access the first set of customized data processing modules. The method also includes loading the first set of customized data processing modules into a data plane container, wherein the network application is executed via a network operating system, and wherein, upon execution of the network application the customized data processing module causes the data plane container of the network application to process packets differently than prior to loading the customized data processing module in the data plane container.
    Type: Application
    Filed: February 19, 2013
    Publication date: August 21, 2014
    Applicant: PLUMgrid, Inc.
    Inventors: Pere Monclus, Sushil Singh, Brenden Blanco, Alexei Starovoitov, Awais Nemat
  • Publication number: 20140237457
    Abstract: A method and an apparatus for a parallel computing program calling APIs (application programming interfaces) in a host processor to perform a data processing task in parallel among compute units are described. The compute units are coupled to the host processor including central processing units (CPUs) and graphic processing units (GPUs). A program object corresponding to a source code for the data processing task is generated in a memory coupled to the host processor according to the API calls. Executable codes for the compute units are generated from the program object according to the API calls to be loaded for concurrent execution among the compute units to perform the data processing task.
    Type: Application
    Filed: January 24, 2014
    Publication date: August 21, 2014
    Applicant: Apple Inc.
    Inventors: Aaftab Munshi, Nathaniel Begeman
  • Patent number: 8813044
    Abstract: A method, system, and article of manufacture are disclosed for transforming a definition of a process for delivering a service. This service process definition is comprised of computer readable code. The method comprises the steps of expressing a given set of assumptions in a computer readable code; and transforming said process definition by using a processing unit to apply said assumptions to said process definition to change the configuration of the process definition. The process definition may be transformed by using factors relating to the specific context in or for which the process definition is executed. Also, the process definition may be transformed by identifying, in a flow diagram for the service process definition, flows to which the assumptions apply, and applying program rewriting techniques to those identified flows.
    Type: Grant
    Filed: September 6, 2012
    Date of Patent: August 19, 2014
    Assignee: International Business Machines Corporation
    Inventors: David F. Bantz, Steven J. Mastrianni, James R. Moulic, Dennis G. Shea
  • Patent number: 8813050
    Abstract: A system for electronic crime reduction is provided, comprising a computer system, a database, a malware de-compiler, a malware parser, and an inference engine. The database contains information that associates electronic crime attack signature data with at least one of an individual, a group, and a location. The malware de-compiler, when executed on the computer system, translates a first malware executable to an assembly language version. The first malware is associated with an electronic crime that has been committed. The malware parser, when executed on the computer system, analyzes the assembly language version to identify distinctive coding preferences used to develop the first malware. The inference engine, when executed on the computer system, analyzes the distinctive coding preferences identified by the malware parser application in combination with searching the database to identify one of an individual, a group, and a location associated with the electronic crime.
    Type: Grant
    Filed: June 3, 2008
    Date of Patent: August 19, 2014
    Assignee: Isight Partners, Inc.
    Inventors: John P. Watters, Jonathan M. Couch, Sam F. Stover, Michael J. Weinberger, Fredrick Doyle, Gregory MacManus
  • Patent number: 8813047
    Abstract: A practical language for writing analysis and transformation tools for C/C++ and other languages is provided. This language, YATL, is imperative in style and designed to be easy to use for someone familiar with the grammar of the target language. It allows the developer to describe transformations with reference to elements of the target grammar through a pluggable personality to a compiler. This provides the means for powerful, yet easy to write, transformation programs, while fundamentally remaining language agnostic.
    Type: Grant
    Filed: September 8, 2005
    Date of Patent: August 19, 2014
    Assignee: Alcatel Lucent
    Inventors: Daniel G. Waddington, Bin Yao
  • Patent number: 8813049
    Abstract: A compiler receives source code for a program and determines that the code includes a declaration expression and an initialization expression in an assignment context. The declaration expression introduces a variable and specifies part of a parameterized type for the variable but not another part of the parameterized type. A parameterized type may include a ground type part and one or more type arguments; in a declaration expression, the specified part of the parameterized type may include a ground type and the unspecified part may include one or more of the type arguments. The initialization expression specifies an initial value for the variable, where the value has a parameterized type. The assignment context associates the declared variable with the initial value. The compiler infers the type for the variable based at least on the part specified in the declaration expression and on the type specified by the initialization expression.
    Type: Grant
    Filed: June 30, 2010
    Date of Patent: August 19, 2014
    Assignee: Oracle International Corporation
    Inventors: Brian Goetz, Alexander R. Buckley, Joseph D. Darcy, Maurizio Cimadamore
  • Patent number: 8813048
    Abstract: Embodiments of the claimed subject matter are directed to methods and a system that allows an application comprising a single code set under the COBOL Programming Language to execute in multiple platforms on the same multi-platform system (such as a mainframe). In one embodiment, a single code set is pre-compiled to determine specific portions of the code set compatible with the host (or prospective) platform. Once the code set has been pre-compiled to determine compatible portions, those portions may be compiled and executed in the host platform. According to these embodiments, an application may be executed from a single code set that is compatible with multiple platforms, thereby potentially reducing the complexity of developing the application for multiple platforms.
    Type: Grant
    Filed: January 5, 2010
    Date of Patent: August 19, 2014
    Assignee: Accenture Global Services Limited
    Inventor: Mark Neft
  • Publication number: 20140229924
    Abstract: A project system is automatically configured from project capabilities determined from an instance of a build system by a project capabilities analyzer. A flexible configuration based build system defines the consuming project system. Results of an evaluated project file are used to define the overall capabilities of the build system. The capabilities are used to dynamically load and assemble the project system code. Changes in the project capabilities due to a reevaluation of a result of a build can then redefine and reassemble the project system code. Hence project system configuration is data-driven rather than user-defined and utilizes a flexible, configuration based build system to define the consuming project system.
    Type: Application
    Filed: April 17, 2014
    Publication date: August 14, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Brian Mead Tyler, Kieran Paul Mockford
  • Publication number: 20140229925
    Abstract: Apparatus, systems, and methods for a compiler are described. One such compiler converts source code into an automaton comprising states and transitions between the states, wherein the states in the automaton include a special purpose state that corresponds to a special purpose hardware element. The compiler converts the automaton into a netlist, and places and routes the netlist to provide machine code for configuring a target device.
    Type: Application
    Filed: April 14, 2014
    Publication date: August 14, 2014
    Applicant: Micron Technology, Inc.
    Inventors: Paul Glendenning, Junjuan Xu
  • Patent number: 8806513
    Abstract: A method and an apparatus for a parallel computing program calling APIs (application programming interfaces) in a host processor to perform a data processing task in parallel among compute units are described. The compute units are coupled to the host processor including central processing units (CPUs) and graphic processing units (GPUs). A program object corresponding to a source code for the data processing task is generated in a memory coupled to the host processor according to the API calls. Executable codes for the compute units are generated from the program object according to the API calls to be loaded for concurrent execution among the compute units to perform the data processing task.
    Type: Grant
    Filed: October 5, 2012
    Date of Patent: August 12, 2014
    Assignee: Apple Inc.
    Inventors: Aaftab A. Munshi, Nathaniel Begeman
  • Patent number: 8806462
    Abstract: A method of detecting portions of code of a computer program that protect resources of a computer system unnecessarily can include identifying threads and synchronization objects that are used by a computer program during execution, determining the number of threads that have accessed each resource while it has been consistently protected by a particular synchronization object, and indicating whether the resource is suited for protection according to the number of threads that have accessed the resource.
    Type: Grant
    Filed: December 11, 2011
    Date of Patent: August 12, 2014
    Assignee: International Business Machines Corporation
    Inventor: Kirk J. Krauss
  • Patent number: 8806452
    Abstract: A method and system to transform a plurality of programs associated with a plurality of programming languages is provided. In the method, a request is received by a computer to transform a first program in a first programming language to a second program in a second programming language. The first program is then transformed, wherein the transformation includes eliminating errors using predefined criteria. Further, the method maps a statement of the first program with a corresponding statement of the second program.
    Type: Grant
    Filed: November 10, 2011
    Date of Patent: August 12, 2014
    Assignee: International Business Machines Corporation
    Inventors: Pankaj Dhoolia, Anup Kumar Ghosh, Sugata Ghosal, Asidhara Lahiri, Mangala Gowri Nanda, Krishna Nandivada Venkata, Anjan Nandy, Diptikalyan Saha
  • Patent number: 8806465
    Abstract: A method, system, and program product for removing exception classes that match a pattern is disclosed. Exception classes are searched for those of the exception classes that match that pattern. The parent classes of matched exception classes are refactored to accept an exception type argument. Code that throws the matched exceptions is rewritten by replacing the exception class with the parent class and adding a corresponding exception type. Code that catches the thrown exceptions is rewritten by changing a catch clause to catch a parent exception class and inserting a case statement for the exception type in that catch clause. The matched exception classes are removed.
    Type: Grant
    Filed: December 3, 2010
    Date of Patent: August 12, 2014
    Assignee: International Busines Machines Corporation
    Inventor: Berthold Martin Lebert
  • Patent number: 8799879
    Abstract: One embodiment provides a system that protects translated guest program code in a virtual machine that supports self-modifying program code. While executing a guest program in the virtual machine, the system uses a guest shadow page table associated with the guest program and the virtual machine to map a virtual memory page for the guest program to a physical memory page on the host computing device. The system then uses a dynamic compiler to translate guest program code in the virtual memory page into translated guest program code (e.g., native program instructions for the computing device). During compilation, the dynamic compiler stores in a compiler shadow page table and the guest shadow page table information that tracks whether the guest program code in the virtual memory page has been translated. The compiler subsequently uses the information stored in the guest shadow page table to detect attempts to modify the contents of the virtual memory page.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: August 5, 2014
    Assignee: Oracle America, Inc.
    Inventors: Gregory M. Wright, Christopher A. Vick, Peter B. Kessler
  • Patent number: 8799693
    Abstract: In the various aspects, virtualization techniques may be used to reduce the amount of power consumed by execution of applications by power-optimizing the code prior to execution. A dynamic binary translator operating at the machine layer may use a power consumption model to identify code segments that can benefit from optimization and to perform an instruction-sequence to instruction-sequence translation of object code to generate power-optimized object code. Execution hardware may be instrumented with additional circuitry to measure the power consumption characteristics of executing code. The power consumption models may be updated and object code may be regenerated based on the measured the power consumption characteristics of previously executed code. In an aspect, power optimization may be accomplished when the computing device is connected to a battery charger.
    Type: Grant
    Filed: November 23, 2011
    Date of Patent: August 5, 2014
    Assignee: QUALCOMM Incorporated
    Inventors: Christopher A. Vick, Gregory M. Wright
  • Patent number: 8799876
    Abstract: According to some embodiments, systems and methods are provided to link a first entry point of a first kernel to a dummy entry, link a second entry point of a second kernel to the dummy entry, and compile the first kernel and the second kernel.
    Type: Grant
    Filed: September 29, 2006
    Date of Patent: August 5, 2014
    Assignee: Intel Corporation
    Inventors: Guei-Yuan Lueh, Andrew T. Riffel, Hong Jiang, Bixia Zheng, Lian Tang
  • Patent number: 8799877
    Abstract: A programming language is extended to have embedded interpretive types (EIT) that define objects and variables to be resolved at translation time. A variable or data element having a type that is one of the EITs is referred to as an embedded interpretive variable (EIV). A control construct containing an EIV is interpreted (i.e. executed) at translation time.
    Type: Grant
    Filed: March 27, 2009
    Date of Patent: August 5, 2014
    Assignee: OptumSoft, Inc.
    Inventor: David R. Cheriton
  • Patent number: 8799878
    Abstract: A multi level virtual function table uses a hierarchy of chunks or segments of virtual function tables to identify methods for a particular class. At least one level of indirection pointers may point to individual virtual function table chunks, which may be shared by multiple classes. In some embodiments, fixed size chunks of virtual function tables may be used, other embodiments may use variable sized chunks of virtual function tables. In just in time compiled code, virtual function tables may be limited to sharing across parent and child classes, while in pre-compiled code, more complex sharing may be used.
    Type: Grant
    Filed: September 14, 2012
    Date of Patent: August 5, 2014
    Assignee: Microsoft Corporation
    Inventor: David J. Hiniker
  • Patent number: 8799864
    Abstract: A method and apparatus to enable SystemVerilog based tools to compile, debug, and execute a standardized testing language based test bench. The testing harness comprises, in one embodiment, a translator to map TTCN-3 language to a SystemVerilog test bench, a Verilog syntax compiler and simulator database including the mapped TTCN-3 language data, and a run time system using the SystemVerilog test bench with the database including the mapped TTCN-3 language data.
    Type: Grant
    Filed: September 13, 2012
    Date of Patent: August 5, 2014
    Assignee: Synopsys, Inc.
    Inventors: Junjie Chen, Xiangdong Ji
  • Patent number: 8799448
    Abstract: Improved systems and methods for developing rule packs can include receiving monitoring rules specified in a markup language, and combining them to produce a rule pack. Combining processes can leverage product development processes such as Integrated Development Environments (IDEs), thereby allowing any number of developers to work on the same rule pack simultaneously. Common settings may be added to rule packs in an automated, platform-specific way, thereby eliminating the need for rule writers to concern themselves with such common settings. Rule packs may be converted from a markup language to a binary file for use by a monitoring service.
    Type: Grant
    Filed: December 20, 2006
    Date of Patent: August 5, 2014
    Assignee: Microsoft Corporation
    Inventors: An Yan, Christopher J. Harris