Ph.D. Summary: Verification of Transformations on Array-Intensive Source Code by Equivalence Checking K.C. Shashidhar∗ Interuniversitair Micro-Elektronica Centrum (IMEC) vzw, Belgium and Departement Computerwetenschappen, Katholieke Universiteit Leuven, Belgium. We present a method for automatic verification of source code transformations by checking the inputoutput equivalence of the original and the transformed programs.

Motivation Application of program transformations is presently a necessity in many application areas like, mobile computing and communicating systems, scientific computing, etc. This is mainly due to the semantic gap between software and hardware, that is ever widening. Optimizing compilers, however sophisticated, are not able to efficiently bridge this gap. System designers, based on a know-how of the application, are applying program transformations to achieve an efficient implementation of the software on the hardware. Consequently, when transformations are applied, it is necessary that they are applied correctly. Correctly applied transformations preserve the functional behavior of the original program in the transformed program. Time consuming and incomplete testing is employed presently to check this. It is desirable to replace this with a fast, automatic and complete method.

Focus A pragmatic approach to the motivated verification problem is to check the functional equivalence of the original and the transformed programs. But program equivalence is, in general, well-known to be undecidable. Therefore, it is necessary to focus the problem to a decidable set of programs and transformations, that are still relevant to the application area of interest. In signal processing and scientific applications, structured, imperative, array-intensive programs are common. The critical functions requiring rigorous optimization in these programs are often restricted to a program class with certain properties, viz., (a) single-assignment form, (b) affine expressions in the subscripts of arrays and loop bounds, (c) no pointer referencing; and (d) simple data dependent control-flow. On the one hand, these properties make it easier to analyze and transform the programs, and on the other, there are automatic methods that can convert programs, seen in practice, to have these properties. When programs are in this class, it is decidable to check their equivalence under important program transformations like (1) loop transformations, (2) expression propagations; and (3) algebraic transformations. ∗ [email protected]

These transformations are commonly applied in order to achieve dramatic reductions in accesses to the data memory, and hence, the running time and energy consumption of the programs. Our method targets the mentioned class of programs and transformations.

Solution The developed verification method [1, 2] comprises of (1) an equivalence checking method that takes the original and the transformed programs as input and checks whether the two programs are functionally input-output equivalent; and (2) an integrated error diagnostics generating method that helps to debug an erroneously transformed program. The equivalence checking method is based on reasoning on the data dependencies in the two programs. It uses a program representation called an array data dependency graph (ADDG) that captures all the data dependencies in a program in closed form at the level of operators in its statements. Based on a synchronized traversal on the ADDGs of the original and the transformed programs, the method checks that they both have (I) identical sequences of operators and (II) identical data dependencies, for each corresponding paths in the computation between the observable variables. This is a sufficient condition for equivalence and the ADDGs can be suitably normalized under the considered transformations to check this condition. When the checking fails, the method suitably localizes the error with respect to the text of the transformed program. The method has many features that make it efficient to use in practice. The verification is fully automatic and oblivious of the type, number and order of particular transformations that have been applied on the original program. We have implemented the method in a prototype tool that accepts programs in C language. With this tool, it is possible to verify transformations on reallife program codes in the order of only a few seconds.

References [1] K. C. Shashidhar, M. Bruynooghe, F. Catthoor and G. Janssens. Functional Equivalence Checking for Verification of Algebraic Transformations on Array-Intensive Source Code. To appear in DATE, 2005. [2] ——. Automatic Functional Verification of Memory Oriented Global Source Code Transformations. IEEE International High Level Design Validation and Test Workshop (HLDVT), 2003, pp. 31-36.

Verification of Transformations on Array-Intensive ...

Array-Intensive Source Code by Equivalence Checking. K.C. Shashidhar∗ ... tive, array-intensive programs are common. The critical ... formations like (1) loop transformations, (2) expres- ... [1] K. C. Shashidhar, M. Bruynooghe, F. Catthoor and.

38KB Sizes 0 Downloads 192 Views

Recommend Documents

Automatic Verification of Algebraic Transformations
restructuring transformations are called global data-flow transformations. In our earlier work [2], we have presented an intra- procedural method for showing the ...

Verification of Source Code Transformations by Program ... - CiteSeerX
2. Piecewise-affine expressions: Subscripts in the arrays and expressions in the .... M匮 2 a b. Fig. 2. The ADDGs of program functions in Fig. 1. Array A1 and ...

Paper for the IRC on Transnational Transformations of ...
Jul 29, 2007 - controls on anti-money-laundering and counter-financing of terrorism (AML-CFT) around the world. This example also demonstrates that despite their formally `soft' character, such codes often have considerable normative force, as much o

Estimates on Renormalization Group Transformations - CiteSeerX
Apr 25, 1997 - Each K(X; ) should be Frechet-analytic in in a complex strip around the ...... kA(t)kt which is the unique formal power series in t; h solution to the ...

Estimates on Renormalization Group Transformations | CiteSeerX
Apr 25, 1997 - the short and long distance behavior of various quantum field theories. We generally ...... where V (F) is de ned on each cell by. (V (F))( ) = V ( ) ...

Estimates on Renormalization Group Transformations
Apr 25, 1997 - University of Virginia. Charlottesville, VA 22903 ..... composed of bonds b connecting the centers of the blocks in X. The length jbj of a ...... is convergent for t; h su ciently small depending on the initial data kAkG(0);?;h. The.

Tutorial: Verification of Real-time Systems Based on ...
Electrical and Computer Engineering,. Wayne State ... I. Introduction. Discrete Event System Specification(DEVS) is a promising formalism for modelling and analysis of dis- crete event systems and especially it has been regarded as a powerful ... the

Graded structure and the speed of category verification: On the ...
For non-social categories (e.g., BIRD), participants were faster to classify typical instances than atypical .... testable propositions, both of which received support.

Quadratic Transformations
Procedure: This activity is best done by students working in small teams of 2-3 people each. Develop. 1. Group work: Graphing exploration activity. 2.

On Local Transformations in Plane Geometric ... - Semantic Scholar
‡School of Computer Science, Carleton U., Ottawa, Canada. §Fac. .... valid provided that after moving the vertex to a new grid point, no edge crossings ..... at least n−3 edge moves since all vertices of the path have degree at most 2 and.

On Local Transformations in Plane Geometric ... - Semantic Scholar
the local transformation with respect to a given class of graphs are studied [3–6,. 9–12 .... Figure 4: Illustration of the canonical triangulation and the initial grid.

C1-L10 - Transformations of Logarithms.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. C1-L10 ...

C1-L10 - Transformations of Logarithms.pdf
... of Logarithms. In Lesson 9, we learned that a logarithmic function is the inverse of an exponential function. (with the same base). The inverse means that the x and y values change places in the. equation. Basic exponential function: Inverse: Log

Verification of Employment.pdf
TO WHOM IT MAY CONCERN: The applicant/participant is applying for housing assistance subsidized through the Department of. Housing and Urban Development. Federal regulations require that all income, expenses,. preferences and other information relate

Explore Transformations of Rational Functions.pdf
Page 1 of 3. Explore Transformations of Rational Functions! Go to: https://www.desmos.com/calculator. 1. Graph. a. As x gets larger (approaches infinity) what ...

Verification of Employment.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Verification of ...Missing:

Verification of Residence.pdf
1940 Ralston Avenue (corner of Villa & Ralston). Direct (650) 590-4525 (650) 592-7111. San Mateo. Agency Insurance. 25 W. 25th Ave. Patio #8. 572-8944. Page 2 of 2. Verification of Residence.pdf. Verification of Residence.pdf. Open. Extract. Open wit

Transformations-HOCLessonPlan.pdf
Page 1 of 4. LESSON OVERVIEW. This activity will allow students to explore, identify, and perform static transformations on. the coordinate plane. LESSON SUMMARY. Duration 45- 60 minutes. GETTING STARTED (​5 - 10 min). ○ Introduce the activity. â

Transformations-HOCLessonPlan.pdf
rotation: ​describes the movement of a figure around a fixed point. Students may ... Activities 13 - 14: Reflection​- Students explore reflection over x or y axis.

VERIFICATION OF LANDSCAPE ARCHITECT LICENSURE.pdf ...
VERIFICATION OF LANDSCAPE ARCHITECT LICENSURE.pdf. VERIFICATION OF LANDSCAPE ARCHITECT LICENSURE.pdf. Open. Extract. Open with.

Creative Transformations of Personal Photographs - IEEE Xplore
Computer Science Department, American University of Beirut, Beirut, Lebanon. Abstract—The popularity of mobile photography paves the way to create new ...

Transformations Notes.pdf
Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Transformations Notes.pdf. Transformations Notes.pdf. Open.

Transformations
Ex 3. Write the f(x) form of the function given the following transformations. 1. right 5. 2. H. Exp. by 3. 3. H. flip. 4. V. comp by ½. 5. Down 8. Ex 4. Describe the transformation of ( ). (. ) 1. 2 cos2 ++−. = π x xf to. ( )π−. = x y cos4. E