"Without question, the greatest invention in the history of mankind is beer. Oh, I grant you that the wheel was also a fine invention, but the wheel does not go nearly as well with pizza."
Dave Barry
Make the Most of PatentStorm
See this month's Top Inventors and Most Cited Patents.
Stay on top of the latest patents by subscribing to an RSS feed.
Got questions? Ask a Patent Expert!
Registered users: Manage your profile, comments and alerts.
| Number | Title | Issue Date |
| 7590978 | Inferring object invariant method and system A local analysis analyzes the values of objects paying attention to program flow and a global analysis analyses the object independent of the flow. The local and global analysis interact to infer the invariants of objects used within a computer program. The local an... | 09/15/2009 |
| 7584463 | State as a first-class citizen of an imperative language A state component saves a present state of a program or model. This state component can be invoked by the program or model itself, thereby making state a first-class citizen. As the state of the program evolves from the saved state, the saved state remains for refle... | 09/01/2009 |
| 7549147 | Security framework for protecting rights in computer software A method for protecting software is provided, where source code for the software has a first directive marking an encryption beginning point and a second directive marking an encryption end point. The method contains the steps of: processing the source code to ident... | 06/16/2009 |
| 7516448 | Method for improving irreducible region commoning compile speed A method for improving compile speed in irreducible code regions within a computer program is disclosed. The method comprises determining which of a plurality of code regions within a computer program is irreducible, determining an influence of the irreducible code ... | 04/07/2009 |
| 7500233 | Parallel filter check using an arithmetic memory location Performing parallel comparisons of variables to determine program code execution flow or to compare multiple variables is disclosed. Memory locations are packed with multiple sub-variables for comparison to sub-variables generated, for example, at runtime. Each bina... | 03/03/2009 |
| 7493610 | Versioning optimization for dynamically-typed languages A system and method for optimizing program code in dynamic languages includes gathering hot-type information from a program by employing inferencing or profiling to get the hot-type information for operator uses, and inserting guards in the program based on data flo... | 02/17/2009 |
| 7464375 | Method for flattening hierarchically structured flows There is disclosed a method for flattening hierarchically structured flows using a breadth-first approach. At each level of hierarchy of a hierarchically structured source flow, complex nodes are flattened by one level across the entire breadth of the flow. The resu... | 12/09/2008 |
| 7444626 | Apparatus and method for linear dead store elimination An apparatus and method for removing stores to local variables that are not aliased by other variables or to variables which have already been removed by previous optimizations prior to performing dead store elimination optimization are provided. With the method and... | 10/28/2008 |
| 7409679 | System and method for computer-aided graph-based dependency analysis The present invention is directed to a system and methods for analyzing dependencies. The dependencies that may be analyzed include, for example, dependencies among methods or procedures in software source code, or in system configuration or deployment. A layered sy... | 08/05/2008 |
| 7406686 | Systems and methods for software performance tuning Methods and apparatus for determining a level of performance of a first application in a computer system are disclosed. A selection of a second one of a plurality of applications is received. The second application is then executed, thereby producing data indicating... | 07/29/2008 |
| 7401329 | Compiling computer programs to exploit parallelism without exceeding available processing resources A compilation technique for computer programs forms a data flow graph of vertices which are analysed to form clusters C for parallel execution where those clusters are added to up to the point at which arbitrary selection between further vertices C, D to be added mu... | 07/15/2008 |
| 7395532 | Process for running programs on processors and corresponding processor system Programs having a given instruction-set architecture are executed on a multiprocessor system comprising a plurality of processors, for example of a VLIW type, each of said processors being able to execute, at each processing cycle, a respective maximum number of ins... | 07/01/2008 |
| 7392513 | Methods and apparatus for merging critical sections Methods and apparatus for merging critical sections are disclosed. An example disclosed system estimates the cost of merging a first critical section and a second critical section using a dataflow analysis on the first and second critical sections. In the example sy... | 06/24/2008 |
| 7392516 | Method and system for configuring a dependency graph for dynamic by-pass instruction scheduling There is disclosed a method and system for configuring a data dependency graph (DDG) to handle instruction scheduling in computer architectures permitting dynamic by-pass execution, and for performing dynamic by-pass scheduling utilizing such a configured DDG. In ac... | 06/24/2008 |
| 7379858 | Computation of all-pairs reaching probabilities in software systems A Markov chain model of a software system may be used to compute all-pairs reaching probabilities to provide guidance in performing speculative operations with respect to the software system. ... | 05/27/2008 |
| 7376940 | Thread suspension and method in a multi-threaded environment Mechanisms can be used to facilitate suspension of a mutator thread (or mutator threads) while imposing negligible overhead on the mutator computation during periods when thread suspension is not requested. Mechanisms are provided to spill values from a fixed set of... | 05/20/2008 |
| 7367022 | Methods and apparatus for optimizing the operating speed and size of a computer program Apparatus and methods for optimizing an operating speed and size of a computer program are disclosed. In an example, an apparatus includes an execution module to run a computer program, an exception detector to detect throws to an exception handler and to detect loc... | 04/29/2008 |
| 7363621 | Program converting apparatus, method, and program Program converting methods, apparatus and systems including a code analysis unit for performing lexical and syntactic analyses of a source code of an execution program, an optimization unit for transforming this execution program, and an output code generation unit ... | 04/22/2008 |
| 7356813 | System and method for optimizing a program Disclosed are systems and methods for optimizing a program. ... | 04/08/2008 |
| 7353505 | Tracing the execution path of a computer program The invention relates to tracing the execution path of a computer program comprising at least one module including a plurality of instructions. At least one of these instructions is a branch instruction. Each branch instruction is identified and evaluated to be one ... | 04/01/2008 |
| 7353503 | Efficient dead code elimination Disclosed is a method for eliminating dead code from a computer program using an operands graph generated from a flow graph of a computer program. In one embodiment of the present invention, the operands graph is traversed for any unused operands. Upon detection of ... | 04/01/2008 |
| 7353279 | Proxy architecture for providing quality of service(QoS) reservations An approach is provided for providing quality of service reservations in a packet-based radio communication network is disclosed. Connection information including connection rate is extracted from a dataflow from an application requesting connection-oriented service... | 04/01/2008 |
| 7353488 | Flow definition language for designing integrated circuit implementation flows An instance of a flow definition language for designing an integrated circuit implementation flow. The instance of the flow definition language includes a hierarchical collection of stages for a physical chip design. Relational constraints define the execution order... | 04/01/2008 |
| 7334216 | Method and apparatus for automatic generation of information system user interfaces A method and apparatus for the specification and automatic generation of user interfaces of information system (computer programs) is provided. The method is based in pattern language to specify requirements in an un-ambiguous mode and with precise semantics. The pa... | 02/19/2008 |
| 7320124 | Apparatus and method for analyzing and displaying operations of computer and computer program for the same A novel apparatus and method for analyzing and displaying the operation of a computer is provided, that can display a timing chart with which the relationship between transmission processes and reception processes, each relating to inter-process communications, can ... | 01/15/2008 |
| 7315850 | Software and method for performing database operations Elements of one or more database manipulation language (DML) commands strings are stored in tables, read from those tables and DML commands are generated. Storing these command elements in tables facilitates access to and modification of database commands used in da... | 01/01/2008 |
| 7307986 | State record processing The invention provides apparatuses and methods for quickly modifying state information. Preprocessing prepares the state information to be modified. A logic unit modifies the state information. Postprocessing then puts the modified state information in proper form f... | 12/11/2007 |
| 7293264 | Method and a device for abstracting instruction sequences with tail merging A method and a device for abstracting instruction sequences in a computer program. First, a control flow graph of the program is generated and analysed in order to detect multiple occurrences of a same instruction sequence (504, 506). Then, a function includi... | 11/06/2007 |
| 7278138 | Computer program conversion and compilation The present invention provides methods, apparatus, and systems to remove a redundant, sign extension instruction from a program and to improve the execution efficiency of the program. In an example embodiment, a conversion program for controlling a computer for the ... | 10/02/2007 |
| 7272829 | Factored assert chains Factored assert chains allow for improved tracking of implicit information in a computer program. The compiler may generate assert statements at various points in the program where there is implicit information. The dominator tree for the program or section of progr... | 09/18/2007 |
| 7263692 | System and method for software-pipelining of loops with sparse matrix routines A method that uses software-pipelining to translate programs, from higher level languages into equivalent object or machine language code for execution on a computer, including sparse arrays/matrices. In one example embodiment, this is accomplished by transforming s... | 08/28/2007 |
| 7260817 | Method using array range check information for generating versioning code before a loop for execution A system and method are provided that in one aspect eliminate redundant array range checks by performing a versioning for a loop. In another aspect, a system and method optimize array range checks by performing data-flow analysis in reverse order of the program exec... | 08/21/2007 |
| 7257780 | Software-to-hardware compiler A hardware-to-software compiler is provided that runs an optimization on a circuit implemented in programmable logic. The optimization allows portions of the program implemented by the circuit to be executed via software. A communication interface between the hardwa... | 08/14/2007 |
| 7257807 | Method for optimizing execution time of parallel processor programs The present invention is directed to a parallel processor language, a method for translating C++ programs into a parallel processor language, and a method for optimizing execution time of a parallel processor program. In an exemplary aspect of the present invention,... | 08/14/2007 |
| 7251681 | Content routing services protocol Layer 7 switching may be accomplished using one or more caches placed throughout a computer network. Changes to a file on a server may be detected and propagated throughout the network. At the switch or router level, once notification of changes to a file is receive... | 07/31/2007 |
| 7243334 | System and method for generating user interface code A system for generating user interface code is provided. The system includes a user interface class system generating a user interface class that has two or more user interface features that can be assembled into a user interface by an operator, such as field entry ... | 07/10/2007 |
| 7240344 | Register allocation and code spilling using interference graph coloring An improved method is provided for performing register allocation in a compiler. This method determines the allocation of a plurality R of registers of a processor for use during the execution of a software program. The register allocation process is treated as a gr... | 07/03/2007 |
| 7240337 | Executing scalar replacement in program optimization The present invention enables one to execute scalar replacement in program optimization, more effectively without executing analysis in a method. The present invention is provided with a code conversion unit 110 for generating a machine language code based on... | 07/03/2007 |
| 7237237 | Designating an object for destruction A method for controlling disposition of a candidate object in an object-oriented programming environment is disclosed. The method may include the step of determining the number of cyclic paths that include the candidate object in the object-oriented programming envi... | 06/26/2007 |
| 7236918 | Method and system for selective compilation of instrumentation entities into a simulation model of a digital design In a method of compiling a simulation model of a digital design, a compiler receives an indication of a desired set of instrumentation entities to be included within a simulation model of a digital design described by a plurality of hierarchically arranged design en... | 06/26/2007 |