CA2309768A1 - Dataflow algorithm for symbolic computation of lowest upper bound type - Google Patents
Dataflow algorithm for symbolic computation of lowest upper bound type Download PDFInfo
- Publication number
- CA2309768A1 CA2309768A1 CA002309768A CA2309768A CA2309768A1 CA 2309768 A1 CA2309768 A1 CA 2309768A1 CA 002309768 A CA002309768 A CA 002309768A CA 2309768 A CA2309768 A CA 2309768A CA 2309768 A1 CA2309768 A1 CA 2309768A1
- Authority
- CA
- Canada
- Prior art keywords
- module
- upper bound
- referenced
- lowest upper
- bound type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44589—Program code verification, e.g. Java bytecode verification, proof-carrying code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
Abstract
A method, computer program, signal transmission, apparatus and system verify instructions in a module of a computer program to be dynamically linked with at least one other module. First it is determined whether checking an instruction in a first module which is loaded requires a lowest upper bound (LUB) class of at least two referenced classes in one or more referenced modules different than the first module. If such information is required, a constraint for the referenced module is written without loading the referenced module. The constraint is of the form "the set of at least two classes inherits from a specified class."
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/321,228 | 1999-05-27 | ||
US09/321,228 US6766521B1 (en) | 1999-05-27 | 1999-05-27 | Dataflow algorithm for symbolic computation of lowest upper bound type |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2309768A1 true CA2309768A1 (en) | 2000-11-27 |
CA2309768C CA2309768C (en) | 2005-12-13 |
Family
ID=23249729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002309768A Expired - Fee Related CA2309768C (en) | 1999-05-27 | 2000-05-26 | Dataflow algorithm for symbolic computation of lowest upper bound type |
Country Status (6)
Country | Link |
---|---|
US (1) | US6766521B1 (en) |
EP (1) | EP1056005B1 (en) |
JP (1) | JP2001175487A (en) |
CN (1) | CN1224902C (en) |
AU (1) | AU770452B2 (en) |
CA (1) | CA2309768C (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020199156A1 (en) * | 2001-05-23 | 2002-12-26 | Fuel Tech, Inc. | Hardware-adaptable data visualization tool for use in complex data analysis and engineering design |
US7036111B2 (en) * | 2001-06-01 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Code verification system and method |
US8356290B2 (en) * | 2009-04-27 | 2013-01-15 | National Instruments Corporation | Conversion of a class oriented data flow program with inheritance to a structure oriented data flow program |
US8769518B1 (en) * | 2010-06-29 | 2014-07-01 | Ca, Inc. | Ensuring determinism during programmatic replay in a virtual machine |
US10055208B2 (en) * | 2015-08-09 | 2018-08-21 | Oracle International Corporation | Extending a virtual machine instruction set architecture |
CN107203407B (en) * | 2016-03-18 | 2020-06-23 | 龙芯中科技术有限公司 | Data verification method and device in Java virtual machine |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2102883A1 (en) * | 1993-02-26 | 1994-08-27 | James W. Arendt | System and method for lazy loading of shared libraries |
US5748964A (en) | 1994-12-20 | 1998-05-05 | Sun Microsystems, Inc. | Bytecode program interpreter apparatus and method with pre-verification of data type restrictions |
US5668999A (en) | 1994-12-20 | 1997-09-16 | Sun Microsystems, Inc. | System and method for pre-verification of stack usage in bytecode program loops |
US5504568A (en) | 1995-04-21 | 1996-04-02 | Xerox Corporation | Print sequence scheduling system for duplex printing apparatus |
US5781710A (en) | 1995-06-07 | 1998-07-14 | Xerox Corporation | Generic method for scheduling print engines using print engine capabilities |
US5696893A (en) | 1995-06-07 | 1997-12-09 | Xerox Corporation | System for generically describing and scheduling operation of modular printing machine |
US5668942A (en) | 1995-06-07 | 1997-09-16 | Xerox Corporation | Generic system for describing and using resources for print engine scheduling |
US5771339A (en) | 1995-06-07 | 1998-06-23 | Xerox Corporation | Method for automatically deriving print engine capabilities for incremental scheduling from compositional print engine models |
US5694529A (en) | 1995-06-07 | 1997-12-02 | Xerox Corporation | System for automatically configuring print engine software from print engine module capabilities |
US5835688A (en) | 1995-06-07 | 1998-11-10 | Xerox Corporation | Generic method for automatically generating finite-state machines for schedudling from print engine capabilities |
US5631740A (en) | 1995-11-28 | 1997-05-20 | Xerox Corporation | Transducers with constraints model for print scheduling |
US5617214A (en) | 1995-11-28 | 1997-04-01 | Xerox Corporation | Commitment groups to generalize the scheduling of interdependent document output terminal capabilities |
US5701557A (en) | 1995-11-28 | 1997-12-23 | Xerox Corporation | Machine graphs and capabilities to represent document output terminals composed of arbitrary configurations |
US6067575A (en) | 1995-12-08 | 2000-05-23 | Sun Microsystems, Inc. | System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs |
US5815718A (en) | 1996-05-30 | 1998-09-29 | Sun Microsystems, Inc. | Method and system for loading classes in read-only memory |
US5729790A (en) | 1997-01-21 | 1998-03-17 | Xerox Corporation | Operation scheduling system for a digital printing apparatus using a tree of possible schedules |
US5812273A (en) | 1997-01-21 | 1998-09-22 | Xerox Corporation | Operation scheduling system for a digital printing apparatus, using a table of executed operations to revise a schedule in real time |
US5935249A (en) | 1997-02-26 | 1999-08-10 | Sun Microsystems, Inc. | Mechanism for embedding network based control systems in a local network interface device |
US6092147A (en) * | 1997-04-15 | 2000-07-18 | Sun Microsystems, Inc. | Virtual machine with securely distributed bytecode verification |
US5983348A (en) | 1997-09-10 | 1999-11-09 | Trend Micro Incorporated | Computer network malicious code scanner |
US6061721A (en) | 1997-10-06 | 2000-05-09 | Sun Microsystems, Inc. | Bean-based management system |
US5966702A (en) | 1997-10-31 | 1999-10-12 | Sun Microsystems, Inc. | Method and apparatus for pre-processing and packaging class files |
US6219787B1 (en) | 1997-12-22 | 2001-04-17 | Texas Instruments Incorporated | Method and apparatus for extending security model to native code |
US6178504B1 (en) | 1998-03-12 | 2001-01-23 | Cheyenne Property Trust C/O Data Securities International, Inc. | Host system elements for an international cryptography framework |
US6092202A (en) | 1998-05-22 | 2000-07-18 | N*Able Technologies, Inc. | Method and system for secure transactions in a computer system |
US6237135B1 (en) | 1998-06-18 | 2001-05-22 | Borland Software Corporation | Development system with visual design tools for creating and maintaining Java Beans components |
US6430569B1 (en) * | 1998-08-14 | 2002-08-06 | Sun Microsystems, Inc. | Methods and apparatus for type safe, lazy, user-defined class loading |
US6321333B1 (en) | 1998-10-14 | 2001-11-20 | Wave Systems Corporation | Efficient digital certificate processing in a data processing system |
US6618855B1 (en) * | 1999-05-27 | 2003-09-09 | Sun Microsystems, Inc. | Caching untrusted modules for module-by-module verification |
US6618769B1 (en) * | 1999-05-27 | 2003-09-09 | Sun Microsystems, Inc. | Module-by-module verification |
US6601114B1 (en) * | 1999-05-27 | 2003-07-29 | Sun Microsystems, Inc. | Fully lazy linking with module-by-module verification |
-
1999
- 1999-05-27 US US09/321,228 patent/US6766521B1/en not_active Expired - Lifetime
-
2000
- 2000-05-22 EP EP00304321.3A patent/EP1056005B1/en not_active Expired - Lifetime
- 2000-05-23 JP JP2000151833A patent/JP2001175487A/en active Pending
- 2000-05-26 AU AU36437/00A patent/AU770452B2/en not_active Expired
- 2000-05-26 CN CN00117671.4A patent/CN1224902C/en not_active Expired - Lifetime
- 2000-05-26 CA CA002309768A patent/CA2309768C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CA2309768C (en) | 2005-12-13 |
AU770452B2 (en) | 2004-02-19 |
AU3643700A (en) | 2000-11-30 |
CN1224902C (en) | 2005-10-26 |
JP2001175487A (en) | 2001-06-29 |
EP1056005A2 (en) | 2000-11-29 |
EP1056005A3 (en) | 2001-12-12 |
CN1292526A (en) | 2001-04-25 |
US6766521B1 (en) | 2004-07-20 |
EP1056005B1 (en) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1109086A3 (en) | Construction system and method for the construction or design of new parts | |
EP1056003A3 (en) | Module-by-module verification | |
EP1056002A3 (en) | Fully lazy linking with module-by-module verification | |
WO1998055910A3 (en) | Apparatus and method for secure device addressing | |
US20040015748A1 (en) | System and method for providing run-time type checking | |
AU3830399A (en) | Terminal and system for implementing secure electronic transactions | |
EP0229619A3 (en) | Instruction prefetching device comprising a circuit for checking prediction for a branch instruction before the instruction is executed | |
CA2288892A1 (en) | Method for preventing buffer deadlock in dataflow computations | |
CA2290086A1 (en) | Method for loading a java application program | |
WO2000041083A3 (en) | Method and apparatus for arbitration in a unified memory architecture | |
CA2187038A1 (en) | Information Processing Apparatus with Security Checking Function | |
WO1994023363A3 (en) | Loader system | |
CN1074767A (en) | The method that computing machine, equipment and system thereof reconfigure | |
EP2472407A3 (en) | Method and apparatus for modeling dataflow systems and realization to hardware | |
EP1056013A3 (en) | Trusted verification of computer program modules | |
WO2005024629A8 (en) | Dynamic program module loading system and method | |
DE60021066D1 (en) | Checking a software package | |
WO2001067236A3 (en) | System and method for preloading classes in a data processing device that does not have a virtual memory manager | |
US20040015747A1 (en) | System and method for preventing software errors | |
CA2309778A1 (en) | Fully lazy linking | |
ATE242894T1 (en) | DEVICE AND METHOD FOR PREVENTING COMPUTER PROGRAM CHANGES AND CORRESPONDING COMPUTER PROGRAM DATA CARRIER. | |
CA2309768A1 (en) | Dataflow algorithm for symbolic computation of lowest upper bound type | |
EP1168166A3 (en) | Program installation method and system | |
WO2006107380A3 (en) | System for intergrated data integrity verification and method thereof | |
WO2002095581A3 (en) | Electronic system and method for booting of an electronic system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |