A method and several variants for optimizing the detection of out of bounds array references in computer programs are described, while preserving the semantics of the computer program. Depending on the variant implemented, the program is divided at run-time or compile-time into two or more regions. The regions are differentiated by the number of checks that need to be performed at run-time on the array accesses within the region. In particular, some regions of the program will not need any array bounds checks performed at run-time, which will increase the speed at which the computer program executes. As well, the state of program variables at the time any out of bounds access is detected is the same as the state of the program variables would have been had the transformation not been performed. Moreover, the regions not needing any checks at run-time will be known at compile-time, enabling further compiler optimizations on the region. The variants of the method are distinguished by the number of regions created, the number of checks needed at run-time, and the size of the program that results from the optimization.

Um método e diversos variants para optimizing a deteção fora de referências da disposição dos limites em programas de computador são descritos, ao preservar a semântica do programa de computador. Dependendo do variant executado, o programa é dividido em run-time ou em compile-time em dois ou mais regiões. As regiões são diferenciadas pelo número das verificações que necessitam ser executadas no run-time nos acessos da disposição dentro da região. No detalhe, algumas regiões do programa não necessitarão nenhumas verificações dos limites de disposição executadas no run-time, que aumentará a velocidade em que o programa de computador executa. Também, o estado de variáveis do programa então algum fora do acesso dos limites é detectado é o mesmo como o estado das variáveis do programa seria tido a transformação executado. Além disso, as regiões que não necessitam nenhumas verificações no run-time serão sabidas em compile-time, permitindo uns optimizations mais adicionais do compilador na região. Os variants do método são distinguidos pelo número das regiões criadas, pelo número das verificações necessitadas no run-time, e pelo tamanho do programa esse resultados do optimization.

 
Web www.patentalert.com

< (none)

< System and method for program verification and optimization

> Distributed processing for control of a telecommunications network

> (none)

~ 00025