WO2003081425A3 - Method and apparatus for deployment of software using static procedure return addresses - Google Patents

Method and apparatus for deployment of software using static procedure return addresses Download PDF

Info

Publication number
WO2003081425A3
WO2003081425A3 PCT/US2003/008507 US0308507W WO03081425A3 WO 2003081425 A3 WO2003081425 A3 WO 2003081425A3 US 0308507 W US0308507 W US 0308507W WO 03081425 A3 WO03081425 A3 WO 03081425A3
Authority
WO
WIPO (PCT)
Prior art keywords
software
deployment
procedure return
return addresses
static
Prior art date
Application number
PCT/US2003/008507
Other languages
French (fr)
Other versions
WO2003081425A2 (en
Inventor
Jong Edward De
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Priority to AU2003233413A priority Critical patent/AU2003233413A1/en
Publication of WO2003081425A2 publication Critical patent/WO2003081425A2/en
Publication of WO2003081425A3 publication Critical patent/WO2003081425A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Abstract

A method for statically allocating a procedure return address includes separating a software program including multiple procedures into a cyclic part and an acyclic part, allocating a static address for the return address of a procedure in the acyclic part and modifying at least one of the procedures to refer to the static address for the procedure return address.
PCT/US2003/008507 2002-03-18 2003-03-17 Method and apparatus for deployment of software using static procedure return addresses WO2003081425A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2003233413A AU2003233413A1 (en) 2002-03-18 2003-03-17 Method and apparatus for deployment of software using static procedure return addresses

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/100,838 2002-03-18
US10/100,838 US7181737B2 (en) 2002-03-18 2002-03-18 Method and apparatus for deployment of high integrity software using static procedure return addresses

Publications (2)

Publication Number Publication Date
WO2003081425A2 WO2003081425A2 (en) 2003-10-02
WO2003081425A3 true WO2003081425A3 (en) 2005-02-10

Family

ID=28039913

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/008507 WO2003081425A2 (en) 2002-03-18 2003-03-17 Method and apparatus for deployment of software using static procedure return addresses

Country Status (3)

Country Link
US (1) US7181737B2 (en)
AU (1) AU2003233413A1 (en)
WO (1) WO2003081425A2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE47735E1 (en) 2001-04-20 2019-11-19 Progme Corporation Audio/video program-related hyperlink printer
US7971255B1 (en) * 2004-07-15 2011-06-28 The Trustees Of Columbia University In The City Of New York Detecting and preventing malcode execution
US7779399B2 (en) * 2005-05-16 2010-08-17 Armorize Technologies, Inc. System and method for securing web application code and verifying correctness of software
US8117660B2 (en) * 2008-06-19 2012-02-14 Microsoft Corporation Secure control flows by monitoring control transfers
US9183020B1 (en) 2014-11-10 2015-11-10 Xamarin Inc. Multi-sized data types for managed code
US9213638B1 (en) 2015-03-24 2015-12-15 Xamarin Inc. Runtime memory management using multiple memory managers
GB201914063D0 (en) 2019-09-30 2019-11-13 Ge Healthcare Bio Sciences Ab Method for classifying monitoring results from an analytical sensor system arranged to monitor molecular interactions
US11768691B2 (en) * 2020-09-18 2023-09-26 Intel Corporation Boot process for early display initialization and visualization

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0818473B2 (en) 1985-07-31 1996-02-28 トッパン・ムーア株式会社 IC card that can set confidentiality level
EP0390339B1 (en) 1989-03-29 1996-01-03 Hewlett-Packard Company Path measurement and analysis tool for evaluating the performance of software designs
US5107418A (en) 1990-06-11 1992-04-21 Supercomputer Systems Limited Partnership Method for representing scalar data dependences for an optimizing compiler
IL100987A (en) 1991-02-27 1995-10-31 Digital Equipment Corp Method and apparatus for compiling code
US5423027A (en) 1991-09-27 1995-06-06 Massachusetts Institute Of Technology Tool for error detection in software using aspect specification
JPH0695312B2 (en) 1991-11-21 1994-11-24 インターナショナル・ビジネス・マシーンズ・コーポレイション Method and system for processing a computer program
US5666296A (en) 1991-12-31 1997-09-09 Texas Instruments Incorporated Method and means for translating a data-dependent program to a data flow graph with conditional expression
FR2694120B1 (en) 1992-07-24 1994-09-23 Sgs Thomson Microelectronics Memory word management circuit.
US5421020A (en) 1993-01-08 1995-05-30 International Business Machines Corporation Counter register implementation for speculative execution of branch on count instructions
GB9307623D0 (en) 1993-04-13 1993-06-02 Jonhig Ltd Data writing to eeprom
US6684261B1 (en) * 1993-07-19 2004-01-27 Object Technology Licensing Corporation Object-oriented operating system
US5974255A (en) 1993-10-18 1999-10-26 Motorola, Inc. Method for state-based oriented testing
EP0666550B1 (en) 1994-02-08 1997-05-02 Belle Gate Investment B.V. Data exchange system comprising portable data processing units
US5828883A (en) * 1994-03-31 1998-10-27 Lucent Technologies, Inc. Call path refinement profiles
JPH07319710A (en) 1994-05-20 1995-12-08 Matsushita Electric Ind Co Ltd Compiling processing method
CA2147536A1 (en) 1994-06-01 1995-12-02 Gerard Johan Holzmann On-the-fly model checking with partial-order state space reduction
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
US5659754A (en) 1995-03-31 1997-08-19 Sun Microsystems, Inc. Method and apparatus for an improved optimizing compiler
US5968169A (en) * 1995-06-07 1999-10-19 Advanced Micro Devices, Inc. Superscalar microprocessor stack structure for judging validity of predicted subroutine return addresses
US6604190B1 (en) * 1995-06-07 2003-08-05 Advanced Micro Devices, Inc. Data address prediction structure and a method for operating the same
US6185597B1 (en) * 1995-06-07 2001-02-06 Microsoft Corporation Method and system for expanding a buried stack frame
US5809268A (en) 1995-06-29 1998-09-15 International Business Machines Corporation Method and system for tracking resource allocation within a processor
PT757336E (en) 1995-08-04 2001-04-30 Belle Gate Invest B V DATA EXCHANGE SYSTEM INCLUDING PORTAL DATA PROCESSING UNITS
US5790859A (en) 1995-12-21 1998-08-04 International Business Machines Corporation Method of, system for, and computer program product for efficient identification of private variables in program loops by an optimizing compiler
US5740419A (en) 1996-07-22 1998-04-14 International Business Machines Corporation Processor and method for speculatively executing an instruction loop
US6463581B1 (en) 1996-10-03 2002-10-08 International Business Machines Corporation Method for determining reachable methods in object-oriented applications that use class libraries
CN1183449C (en) 1996-10-25 2005-01-05 施卢默格系统公司 using a high level programming language with a microcontroller
US5887161A (en) 1997-03-31 1999-03-23 International Business Machines Corporation Issuing instructions in a processor supporting out-of-order execution
FR2770918B1 (en) 1997-11-07 1999-12-10 Gemplus Card Int METHOD FOR SECURE MANAGEMENT OF A MEMORY
US6349344B1 (en) * 1997-12-16 2002-02-19 Microsoft Corporation Combining multiple java class files into a run-time image
US6282700B1 (en) 1998-05-21 2001-08-28 Hewlett Packard Company Mechanism for maintaining revisions of objects in flash memory
US6381735B1 (en) * 1998-10-02 2002-04-30 Microsoft Corporation Dynamic classification of sections of software
US6526571B1 (en) 1999-03-16 2003-02-25 International Business Machines Corporation Method for identifying calls in java packages whose targets are guaranteed to belong to the same package
US6601114B1 (en) 1999-05-27 2003-07-29 Sun Microsystems, Inc. Fully lazy linking with module-by-module verification
US6634019B1 (en) * 1999-07-16 2003-10-14 Lamarck, Inc. Toggling software characteristics in a fault tolerant and combinatorial software environment system, method and medium
US6292874B1 (en) 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
US6263302B1 (en) 1999-10-29 2001-07-17 Vast Systems Technology Corporation Hardware and software co-simulation including simulating the cache of a target processor
US6718485B1 (en) 1999-11-16 2004-04-06 Parasoft Corporation Software emulating hardware for analyzing memory references of a computer program
FR2806813A1 (en) 2000-03-17 2001-09-28 Jean Michel Poupeau Smart card memory management system allowing card users access to a number of services offered by a town
US6735758B1 (en) * 2000-07-06 2004-05-11 International Business Machines Corporation Method and system for SMP profiling using synchronized or nonsynchronized metric variables with support across multiple systems
US6971091B1 (en) * 2000-11-01 2005-11-29 International Business Machines Corporation System and method for adaptively optimizing program execution by sampling at selected program points
US6957418B2 (en) 2001-01-23 2005-10-18 Altia, Inc. System and method of designing, testing, and employing graphical computer code
US7076773B2 (en) * 2001-03-20 2006-07-11 International Business Machines Corporation Object oriented apparatus and method for allocating objects on an invocation stack in a dynamic compilation environment
GB2377283B (en) 2001-04-10 2004-12-01 Discreet Logic Inc Initialising modules
US6978018B2 (en) * 2001-09-28 2005-12-20 Intel Corporation Technique to support co-location and certification of executable content from a pre-boot space into an operating system runtime environment

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AHO A V ET AL: "COMPILERS PRINCIPLES, TECHNIQUES, AND TOOLS", 1986, COMPILERS. PRINCIPLES, TECHNIQUES, AND TOOLS, READING, ADDISON-WESLEY PUBLISHING CO, US, PAGE(S) 1-646, XP002941830 *
BAENTSCH M ET AL: "JAVACARD- FROM HYPE TO REALITY", IEEE CONCURRENCY, IEEE SERVICE CENTER, PISCATAWAY, NY, US, vol. 7, no. 4, October 1999 (1999-10-01), pages 36 - 43, XP000873322, ISSN: 1092-3063 *
TZI-CKER CHIUEH, FU-HAU HSU: "RAD: a compile-time solution to buffer overflow attacks", IEEE 21ST INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, PHOENIX, ARIZONA, USA, 16 April 2001 (2001-04-16), pages 409 - 417, XP002292775, ISBN: 0-7695-1077-9, Retrieved from the Internet <URL:http://ieeexplore.ieee.org/> [retrieved on 20040817] *
VENDICATOR: "Stack Shield tecnical info file v0.7", 7 January 2000 (2000-01-07), XP002292774, Retrieved from the Internet <URL:http://www.angelfire.com/sk/stackshield/stackshield0.7.tar.gz> [retrieved on 20040817] *

Also Published As

Publication number Publication date
AU2003233413A1 (en) 2003-10-08
US7181737B2 (en) 2007-02-20
WO2003081425A2 (en) 2003-10-02
AU2003233413A8 (en) 2003-10-08
US20030177474A1 (en) 2003-09-18

Similar Documents

Publication Publication Date Title
AU2003285735A1 (en) Dynamic resource allocation platform and method for time related resources
EP1579287A3 (en) Dynamic resource allocation platform and method for time related resources
GB2373085B (en) Method, computer program and system for style sheet generation
WO2006072964A3 (en) System and method for application development and deployment
WO2006062815A3 (en) System and method for constructing cognitive programs
EG23370A (en) Dynamic annular pressure conrol apparatus and method.
WO2005055006A3 (en) Business software application generation system and method
WO2003096157A3 (en) Method and apparatus for creating a virtual data copy
AU2003236576A1 (en) Method, system, and program for determining a modification of a system resource configuration
AU2003300362A1 (en) Method and apparatus for resource locator identifier rewrite
WO2004003741A3 (en) Integration of heterogeneous applications
WO2005024629A3 (en) Dynamic program module loading system and method
WO2004092495A3 (en) Shrapnel containment system and method for producing same
AU2003268506A1 (en) System and method for expediting and automating mainframe computer setup
WO2003081425A3 (en) Method and apparatus for deployment of software using static procedure return addresses
AU2003263492A1 (en) Method and device for generating sub-images
WO2005008414A3 (en) Method and apparatus for parallel action processing
SG116504A1 (en) Screen display processing apparatus, screen display processing method and computer program.
DE69605133D1 (en) pack
AU2003220948A1 (en) Photographing apparatus, photographing method and computer program
AU2003228406A1 (en) Apparatus and method for dynamic program decompression
NL1010259A1 (en) Method for a screen printing process and a screen printing machine.
WO2003098436A3 (en) Method of controlling access to cryptographic resources
WO2004027571A3 (en) Method and apparatus for resolving an un-coded address
DE60006045D1 (en) Device, method and computer program for image generation

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP

DPE2 Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101)