Patents by Inventor Alexander R. Buckley

Alexander R. Buckley has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8387027
    Abstract: A method for compiling source code, involving: obtaining a statement of the source code comprising a method call, where the source code is composed in a statically-typed programming language; determining whether the method call is a dynamic method call; upon determining that the method call is a dynamic method call, compiling a dynamic method invocation without performing type checking on the method call; upon determining that the method call is not a dynamic method call: performing type checking on the method call, selecting a target method to invoke, and compiling a static method invocation to invoke the target method.
    Type: Grant
    Filed: January 15, 2010
    Date of Patent: February 26, 2013
    Assignee: Oracle America, Inc. formerly Sun Microsystems, Inc.
    Inventors: Alexander R. Buckley, John Rose, Joseph D. Darcy
  • Publication number: 20120272214
    Abstract: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During operation, the system obtains, from the software program, a method call associated with one or more interfaces containing a virtual extension method. Next, the system resolves the method call by obtaining a method implementation corresponding to the method call from at least one of an inheritance hierarchy associated with the method call and the virtual extension method.
    Type: Application
    Filed: April 21, 2011
    Publication date: October 25, 2012
    Applicant: Oracle International Corporation
    Inventors: Brian Goetz, Alexander R. Buckley
  • Publication number: 20120210320
    Abstract: The disclosed embodiments provide a system that facilitates the development and execution of a software program. During operation, the system provides a mechanism for restricting a variable to a runtime context in the software program. Next, the system identifies the runtime context during execution of the software program. Finally, the system uses the mechanism to prevent incorrect execution of the software program by ensuring that a closure capturing the variable executes within the identified runtime context.
    Type: Application
    Filed: February 15, 2011
    Publication date: August 16, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Brian Goetz, Alexander R. Buckley
  • Publication number: 20120210308
    Abstract: The disclosed embodiments provide a system that facilitates the compilation and execution of a software program. During operation, the system obtains a closure from source code for the software program. Next, the system characterizes a type of the closure based on a mutability of one or more variables captured by the closure. Finally, the system encodes the type into a compiled form of the closure to facilitate subsequent execution of the closure in a multithreaded environment.
    Type: Application
    Filed: February 15, 2011
    Publication date: August 16, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Brian Goetz, Alexander R. Buckley
  • Publication number: 20120117538
    Abstract: The disclosed embodiments provide a system that facilitates the development and maintenance of a software program. This system includes a software development kit (SDK) and a runtime system for the software program. During operation, the system obtains a role associated with a dependency of a consumer in the software program on an interface. Next, the system obtains a compatibility policy for the interface. Finally, the system uses the role and the compatibility policy to manage use of the interface by the consumer in the software program.
    Type: Application
    Filed: November 4, 2010
    Publication date: May 10, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventor: Alexander R. Buckley
  • Publication number: 20120096433
    Abstract: Some embodiments provide a system that facilitates the development, maintenance, and execution of a software program. During operation, the system obtains a module declaration for a module to be used in the software program. Next, the system resolves one or more dependencies of the module using the module declaration and a list of available modules for the software program. Finally, the system uses the resolved dependencies to manage the software program throughout the life cycle of the software program.
    Type: Application
    Filed: October 28, 2010
    Publication date: April 19, 2012
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mark B. Reinhold, Alexander R. Buckley, Jonathan J. Gibbons
  • Publication number: 20120005660
    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: Application
    Filed: June 30, 2010
    Publication date: January 5, 2012
    Inventors: Brian Goetz, Alexander R. Buckley, Joseph D. Darcy, Maurizio Cimadamore
  • Publication number: 20110321019
    Abstract: The disclosed embodiments provide a system that facilitates the compilation of a software program. During operation, the system uses a directory hierarchy for the software program to infer a compilation unit to be used in the software program as a member of a module. Next, the system obtains a module declaration for the module using the directory hierarchy. Finally, the system enables compilation of the software program by dynamically identifying and locating one or more dependencies of the module using the module declaration and the directory hierarchy.
    Type: Application
    Filed: June 25, 2010
    Publication date: December 29, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Jonathan J. Gibbons, Alexander R. Buckley, Mark B. Reinhold
  • Publication number: 20110271254
    Abstract: The disclosed embodiments provide a system that facilitates the development and maintenance of a software program. This system includes a software development kit (SDK) and a runtime system for the software program. During operation, the system associates classes of the software program with module declarations for a set of modules and uses the module declarations to manage dependencies in the software program throughout the life cycle of the software program.
    Type: Application
    Filed: April 30, 2010
    Publication date: November 3, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Mark B. Reinhold, Alexander R. Buckley, Jonathan J. Gibbons, Karen M. P. Kinnear
  • Publication number: 20110271251
    Abstract: The disclosed embodiments provide a system that provides access control for a software program. During operation, the system identifies a member of a module to be used in the software program. Next, the system infers the visibility of the member based on the accessibility of the member. Finally, the system uses the visibility and the accessibility to provide access control during the life cycle of the software program.
    Type: Application
    Filed: April 30, 2010
    Publication date: November 3, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Alexander R. Buckley, Mark B. Reinhold, Karen M.P. Kinnear
  • Publication number: 20110185344
    Abstract: One embodiment of the present invention provides a system that characterizes content in object code. During operation, the system receives the source code of a program. The system also receives one or more pieces of object code of the program, or creates one or more pieces of object code from the source code. Next, the system identifies a construct in the object code. The system then determines whether the construct is physically present in the source code. If the construct is not physically present, the system determines whether the construct is logically present in the source code, wherein a construct is logically present if it is required by the programming language. If so, the system sets a construct flag to indicate that the construct is “synthesized.” However, if not, the system sets the construct flag to indicate that the construct is “synthetic.” Finally, the construct flag is made available to a reflective API.
    Type: Application
    Filed: January 26, 2010
    Publication date: July 28, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Joseph D. Darcy, Alexander R. Buckley
  • Publication number: 20110179402
    Abstract: A method for compiling source code, involving: obtaining a statement of the source code comprising a method call, where the source code is composed in a statically-typed programming language; determining whether the method call is a dynamic method call; upon determining that the method call is a dynamic method call, compiling a dynamic method invocation without performing type checking on the method call; upon determining that the method call is not a dynamic method call: performing type checking on the method call, selecting a target method to invoke, and compiling a static method invocation to invoke the target method.
    Type: Application
    Filed: January 15, 2010
    Publication date: July 21, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: Alexander R. Buckley, John Rose, Joseph D. Darcy
  • Publication number: 20110099535
    Abstract: Various embodiments herein include one or more of systems, methods, software, and/or data structures to implement a multi-way branch statement in a computer programming language. The multi-way branch statement may include a plurality of case labels each having a non-primitive data type (e.g., strings) and being associated with a block of code to be executed dependent upon a control variable that also has a non-primitive data type. The implementation may include encoding the case labels for the multi-way branch statement as a binary decision diagram (BDD), such as a zero-suppressed binary decision diagram (ZDD), wherein the control variable for the multi-way branch statement may be compared with the case labels by stepping through the BDD. The BDD may include identifiers that provide information regarding which of the case labels is matched by the control variable, such that an appropriate code block may be executed.
    Type: Application
    Filed: October 28, 2009
    Publication date: April 28, 2011
    Applicant: SUN MICROSYSTEMS, INC.
    Inventors: ALEXANDER R. BUCKLEY, JOSEPH D. DARCY
  • Publication number: 20110029960
    Abstract: The disclosed embodiments provide a system that encapsulates and manages diagnostic information. During operation, the system detects an event that generates diagnostic information, and stores this diagnostic information in a format that preserves semantic information associated with the event. The system also determines an output context (e.g., the intended target environment) for the diagnostic information, and then uses the preserved semantic information to output the diagnostic information in a context-sensitive format suited for the output context. Note that outputting customized diagnostic information that is adapted to a specific target environment facilitates improving the quality of diagnostic information presented to a user.
    Type: Application
    Filed: June 28, 2010
    Publication date: February 3, 2011
    Applicant: ORACLE INTERNATIONAL CORPORATION
    Inventors: Maurizio Cimadamore, Jonathan J. Gibbons, Alexander R. Buckley