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.