Patents Examined by Trent Roche
  • Patent number: 6925638
    Abstract: A system and method for detecting the mutability of fields and classes in an arbitrary program component written in an object oriented programming language is disclosed. A variable is considered to be mutable if a new value is stored into it, as well as if any of its reachable variables are mutable. The system and method uses a static analysis algorithm which can be applied to any software component rather than whole programs. The analysis classifies fields and classes as either mutable or immutable. In order to facilitate open-world analysis, the algorithm identifies situations that expose variables to potential modification by code outside the component, as well as situations where variables are modified by the analyzed code. An implementation of the analysis is presented which focuses on detecting mutability of class variables, so as to avoid isolation problems. The implementation incorporates intra- and inter-procedural data-flow analyses and is shown to be highly scalable.
    Type: Grant
    Filed: September 21, 2000
    Date of Patent: August 2, 2005
    Assignee: International Business Machines Corporation
    Inventors: Larry Koved, Bilha Mendelson, Sara Porat, Marina Biberstein
  • Patent number: 6883164
    Abstract: A method, program and system for mapping ASN.1 data to an object model are provided. The invention consists of identifying the start of a data stream and then generating a new object name for the data. Next, the data is parsed to get the identifier and the data length. Then the data's tag type is analyzed. If the tag type is simple, a class diagram is generated for the data and then the source code for the data is generated. If the tag type is not simple, a subroutine is called to further parse the data before generating the class diagram and source code.
    Type: Grant
    Filed: December 15, 2000
    Date of Patent: April 19, 2005
    Assignee: International Business Machines Corporation
    Inventors: Xiaoyan Zhang, Randy Scott Humphrey, Theodore Jack London Shrader, Davis Kent Soper
  • Patent number: 6871343
    Abstract: Systems and methods are disclosed for generating a program executed by a central processing apparatus for assigning instructions of the program. The systems and methods may include dividing the program into a plurality of instruction sequences, each instruction sequence comprising a plurality of instructions not executable in parallel because of data dependency. In addition, the systems and methods may include moving an instruction sequence speculatively executable forward an instruction sequence not speculatively executable in the program and aligning the plurality of instruction sequences in correspondence with each of the plurality of buffers.
    Type: Grant
    Filed: September 22, 2000
    Date of Patent: March 22, 2005
    Assignee: Kabushiki Kaisha Toshiba
    Inventor: Takashi Yoshikawa
  • Patent number: 6817009
    Abstract: Concurrent program analysis is fashioned for detecting potential race conditions such as data races in computer programs. One feature of this analysis is verifying annotations of addressable resources in a program. Annotations are verified by checking if thread-local resources are indeed thread-local, and that thread-shared data spaces are not in fact thread-local. Another feature is detecting potential race conditions, such as data races, in the computer program. The computer program can spawn a plurality of threads that are capable of being executed concurrently. The source code of the computer program being analyzed includes an element annotated as either thread-local or thread-shared. The validity of the thread-local annotation is verified if the element is annotated in the computer program as thread-local, wherein an invalid thread-local annotation may cause a race condition.
    Type: Grant
    Filed: November 30, 2000
    Date of Patent: November 9, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Cormac Andrias Flanagan, Stephen N. Freund
  • Patent number: 6721944
    Abstract: One embodiment of the present invention provides a system that marks memory elements based upon how information retrieved from the memory elements affects speculative program execution. This system operates by allowing a programmer to examine source code that is to be compiled into executable code for a head thread that executes program instructions, and for a speculative thread that executes program instructions in advance of the head thread. During read operations to memory elements by the speculative thread, this executable code generally causes the speculative thread to update status information associated with the memory elements to indicate that the memory elements have been read by the speculative thread. Next, the system allows the programmer to identify a given read operation directed to a given memory element, wherein a given value retrieved from the given memory element during the given read operation does not affect subsequent execution of the speculative thread.
    Type: Grant
    Filed: January 16, 2001
    Date of Patent: April 13, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Shailender Chaudhry, Marc Tremblay