| R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating array bounds checks on demand. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 321--333, Vancouver, BC, June 2000. |
....redundant checks that cannot be evaluated at compile time still remains. Also in this approach is the model checking group [7] who uses fix point acceleration techniques to help automated verification of program. The implementation of the algorithm Eliminating Array Bound Checks on Demand in [2], which is based on an extended Static Single Assignment graph representation, can remove about 45 of dynamic bound checks of a representative set of Java programs. Other articles by Midkiff, Moreira, Snir and M. Gupta [22, 20] describe another approach to optimize array reference checking in ....
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating Array Bounds Checks on Demand. In Programming Language Design and Implementation 2000.
....to verify statically the absence of string errors in this function, without reporting any false alarm. The toy main procedure, shown in Fig. 3, calls SkipLine to insert a newline character, reads input from the stanvoid SkipLine(int NbLine, char PtrEndText) int indice; char PtrEndLoc; [1] indice=0; 2] begin loop: 3] if (indice =NbLine) goto end loop; 4] PtrEndLoc = PtrEndText [5] PtrEndLoc = nn ; 6] PtrEndText = PtrEndLoc 1; 7] indice = indice 1; 8] goto begin loop; 9] end loop: 10] PtrEndLoc = PtrEndText [11] PtrEndLoc = n0 ; g void main( char ....
.... loop: 3] if (indice =NbLine) goto end loop; 4] PtrEndLoc = PtrEndText [5] PtrEndLoc = nn ; 6] PtrEndText = PtrEndLoc 1; 7] indice = indice 1; 8] goto begin loop; 9] end loop: 10] PtrEndLoc = PtrEndText [11] PtrEndLoc = n0 ; g void main( char buf[SIZE] char r, s; [1] r = buf; 2] SkipLine(1, r) 3] fgets(r,SIZE 1,stdin) 4] s = r strlen(r) 5] SkipLine(1, s) g Figure 3: SkipLine, a string manipulation function from EADS Airbus with a toy main function. dard input, and concatenates an additional newline by calling SkipLine again. This procedure ....
[Article contains additional citation context not shown here]
R. Bodik, R. Gupta, and V. Sarkar. ABCD: eliminating array bounds checks on demand. In 2000.
....body of work exists on static analysis to eliminate array bounds checks. Kolte and Wolfe [3] perform partial redundancy analysis to hoist array bound checks outside of loops. Their algorithm was based on that described by Gupta [4] who formulated the problem as a dataflow analysis. Bodik al. [5] implemented a demand driven approach to bounds checking in Java. Artigas et al. 6] addresses the problem by introducing a new array class with the concept of a safe region. Xi and Pfenning [7] introduce the notion of dependent types to remove array bound checks in ML; Xi and Xia [8] extend this ....
....prove that array references are within bounds. In these struct void value; address of data void low bound; low bound address void high bound; high bound address bounded ptr struct; Figure 1: Representation of pointers in bcc. int A = malloc(10 sizeof(int) void foo( A[5] = 999; Figure 2: Example C source code. cases compile time schemes to eliminate bounds checks fail, and the compiler must fall back to general run time checking. Several have studied handling buffer overflow; this includes using a gcc patch along with a canary to detect it [10] Another ....
[Article contains additional citation context not shown here]
Rastislav Bodik, Rajiv Gupta, and Vivek Sarkar. ABCD: eliminating array bounds checks on demand. In SIGPLAN Conference on Prog. Language Design and Implementation, pages 321--333, 2000.
....because cast pointers are often used more than once, but rarely discarded without being used. Dereference. A pointer in C may refer to a location outside of a valid region. So our compiler always inserts boundary checking code unless an optimizer recognizes the pointer to be inside a valid region [2, 15, 16]. It is impossible to make a pointer referring to a memory region from a pointer referring to another memory region in the ANSI C. Consequently a pointer whose o#set is outside of its referred region is always invalid. That is, when two pointers which refer to di#erent memory regions are ....
....an internal member (e.g. a elem) may have some performance penalties. We are currently implementing a pointer range analysis which can reduce this performance penalty. Direct member accesses (e.g. a. elem) and member accesses through pointers to structures (e.g. struct S double d; char p[2]; s[2] header type = struct S size = 32 p[0] s[0] p[0] s[0] 0 8 12 16 24 28 32 0 8 16 24 32 40 48 12 20 36 44 real offset virtual offset (We assume the field d never holds any pointer value. Fig. 5. An example of the representation of structures a elem) have no additional ....
[Article contains additional citation context not shown here]
Rastislav Bodik, Rajiv Gupta, and Vivek Sarkar. ABCD: Eliminating Array Bounds Checks on Demand. In Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation, June 2000.
....reduction [16] They are deferred until the largest possible program scope is available and the most memory locations have been promoted to scalar variables. The StarJIT optimizer uses a demand driven array bounds check elimination analysis based upon the previously published ABCD algorithm [4]. It first inserts Pi nodes into the IR to split variable live ranges based on branch conditions. Pi nodes capture information gleaned about a variable based on branch conditions. From each variable s definition, the analysis then derives inequality constraints upon that variable s value, which ....
R. Bodik, R. Gupta, and V. Sarkar, "ABCD: Eliminating Array-Bounds Checks on Demand," in proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation, Vancouver, Canada, June 2000, pp. 321-333.
No context found.
R. Bodik, R. Gupta, and V. Sarkar, "ABCD: Eliminating Array Bounds Checks on Demand," ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 321-333, Vancouver B.C., Canada, June 2000.
....these optimizations are limited in the presence of call, synchronization, and store instructions. The enhanced global value numbering that results from the use of immutability assertions can be used to improve the e#ectiveness of the null check and bounds check optimization algorithms such as [4]. For example, if object M 1 . Deferred Verification . # M n . A## . Analyze . Verify . Invalidate . invalidation action registered actions to perform on first invocation methods # # Figure 5: Method Action Mapping reference p is known to be (deeply) ....
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating Array Bounds Checks on Demand. In SIGPLAN 2000.
....effective run time aliasing test to be developed. The inclusion of tests at the beginning of aggregate operations to ensure that no access violations occur during the computation of the operation allow low overhead bounds optimizations already present in some dynamic compilers (e.g. the ABCD test [3]) to be very effective. Without syntactic support, however, the Array package can be cumbersome to use, as seen in Figure 13(a) That code computes C[i,j] A[i,j] B[i,j] which is much clearer than the representation using method calls seen in the figure. Syntax support can be included in two ....
Rastislav Bodik, Rajiv Gupta, and Vivek Sarkar. ABCD: Eliminating array bounds checks on demand. Proceedings of the ACM SIGPLAN
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating array bounds checks on demand. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 321--333, Vancouver, BC, June 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating array bounds checks on demand. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '00), SIGPLAN Notices 35(5), pages 321--333, Vancouver, BC, June 2000.
No context found.
Ratislav Bodik, Rajiv Gupta, and Vivek Sarkar. ABCD: Eliminating array bounds checks on demand. In PLDI 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating Array Bounds Checks on Demand. In Proceedings of the ACM SIGPLAN '00 Conference on Programming Language Design and Implementation(PLDI), pages 321-333, Vancouver, BC, Canada, June 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating array bounds checks on demand. In Proceedings of the ACM Conference on Programming Language Design and Implementation -- PLDI 2000, pages 321--333, 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating array bounds checks on demand. In Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation, Vancouver, Canada, June 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating array bounds checks on demand. In Proceedings of the ACM Conference on Programming Language Design and Implementation -- PLDI 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating array bounds checks on demand. In Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation, Vancouver, Canada, June 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating arraybounds checks on demand. In ACM SIGPLAN Conference on 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating array-bounds checks on demand. In ACM Conf. on Prog. Lang. Design and Impl. (PLDI), 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating array bounds checks on demand. In SIGPLAN Conference on Programming Language Design and Implementation, pages 321--333, June 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: eliminating array bounds checks on demand. In SIGPLAN Conf. on Prog. Lang. Design and Implementation, June 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. Abcd : Eliminating array bounds checks on demand. In PLDI 2000.
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating array bounds checks on demand. In ACM SIGPLAN Conf. on Programming Language Design and Implementation, pp. 321--333, Vancouver, BC, June 2000.
No context found.
D. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating Array Bounds Checks on Demand. In Proceeding of PLDI'00, 2000
No context found.
R. Bodik, R. Gupta, and V. Sarkar. ABCD: Eliminating array bounds checks on demand. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI '00), SIGPLAN Notices 35(5), pages 321--333, Vancouver, BC, June 2000.
No context found.
Rastislav Bodik, Ragiv Gupta, and Vivek Sarkar. Abcd: Eliminating array bounds checks on demand. In In Proceedings of the SIGPLAN '00 Conference on Program Language Design and Implementation, June 2000.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC