System and method for pre-verification of stack usage in bytecode program loops

   
   

The present invention provides a verifier for use in conjunction with programs utilizing data type specific bytecodes for verifying the proper operation of the executable program prior to actual execution by a host processor. A verifier is provided which includes a virtual stack for temporarily storing stack information which parallels the typical stack operations required during the execution a bytecode program. The verifier also includes a stack snapshot storage structure having a snapshot directory and stack snapshot storage area for storing the state of the virtual stack at various points during program verification so as to assure proper stack manipulations by the source program. A two step source program verification process is provided for in which the source program is initially loaded into the verifier and a first pass source program evaluation is performed. During the first pass, the addresses of all source program target destinations resulting from conditional or un-conditional jumps are stored in sequential order in the stack snapshot directory. The source program is then reloaded and a verification of stack manipulations is performed using a virtual stack and the stack snapshot storage structure to verify proper stack manipulations by the source program. Upon completion, the source program may be interpreted, or compiled, or converted into another executable format as required by an individual user.

De onderhavige uitvinding verstrekt een verificateur voor gebruik samen met programma's die gegevens gebruiken specifieke bytecodes voor het verifiëren van de juiste verrichting van het uitvoerbare programma voorafgaand aan daadwerkelijke uitvoering door een gastheerbewerker typt. Een verificateur wordt verstrekt wat een virtuele stapel voor tijdelijk het opslaan van stapelinformatie omvat die de typische stapelverrichtingen vergelijkt die tijdens de uitvoering een bytecodeprogramma worden vereist. De verificateur omvat ook een de opslagstructuur die van de stapelmomentopname een momentopnamefolder en een de opslaggebied van de stapelmomentopname voor het opslaan van de staat van de virtuele stapel op diverse punten tijdens programmacontrole heeft om juiste stapelmanipulaties door het bronprogramma te verzekeren. Een proces twee stap van de bronprogrammacontrole wordt voorzien waarin het bronprogramma aanvankelijk in de verificateur wordt geladen en een eerste pas bronprogrammaevaluatie wordt uitgevoerd. Tijdens de eerste pas, worden de adressen van alle bestemmingen die van het bronprogrammadoel uit voorwaardelijke of onvoorwaardelijke sprongen voortvloeien opgeslagen in opeenvolgende orde in de folder van de stapelmomentopname. Het bronprogramma wordt dan herladen en een controle van stapelmanipulaties wordt uitgevoerd gebruikend een virtuele stapel en de de opslagstructuur van de stapelmomentopname om juiste stapelmanipulaties te verifiëren door het bronprogramma. Op voltooiing, kan het bronprogramma worden geïnterpreteerd of, worden gecompileerd of, in een ander uitvoerbaar formaat zoals vereist in een individuele gebruiker worden omgezet.

 
Web www.patentalert.com

< Radio interface layer in a cell phone with a set of APIs having a hardware-independent proxy layer and a hardware-specific driver layer

< Interprocess communication mechanism

> Test programs for enterprise web applications

> Exponential increments in FET size selection

~ 00103