18 citations found. Retrieving documents...
Assmann, U. Compiler Construction. Springer, 1996, ch. How To Uniformly Specify Program Analysis and Transformation.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Playing by the Rules: Rewriting as a practical.. - Jones, Tolmach, Hoare (2001)   (13 citations)  (Correct)

....rule states that when foldr consumes the result of a call to build, one can eliminate the intermediate list by applying g directly to k and z. To give an example of applying this rule we must write list consuming and producing functions using foldr and build respectively. For example: sum [5,4,3,2,1]) 15 sum : lint] Int sum xs = foldr ( 0 xs (down 5) 5,4,3,2,1] down : Int lint] down v = build (c n down vcn) down 0 cons nil = nil down v cons nil = cons v (down (v l) cons nil) Again, the definition of sum in terms of foldr is conventional. The function down ....

....eliminate the intermediate list by applying g directly to k and z. To give an example of applying this rule we must write list consuming and producing functions using foldr and build respectively. For example: sum [5,4,3,2,1] 15 sum : lint] Int sum xs = foldr ( 0 xs (down 5) [5,4,3,2,1] down : Int lint] down v = build (c n down vcn) down 0 cons nil = nil down v cons nil = cons v (down (v l) cons nil) Again, the definition of sum in terms of foldr is conventional. The function down returns a list of integers, from its argument down to 1. We express it as a call ....

[Article contains additional citation context not shown here]

Assmann, U., How to uniformly specify program analysis and transformation with graph rewrite systems, in: Proc. Compiler Construction 1996.


Universal Regular Path Queries - de Moor, Lacey, Van Wyk (2001)   (1 citation)  (Correct)

.... yacc) for semantic analysis (attribute grammar systems such as FNC 2 and the SG [38, 56] and also for instruction selection (IBURG [33] There is however no such widely accepted tool for the declarative speci cation of optimising transformations, although there have been many proposals, e.g. [4, 10, 17, 25, 31, 40, 43, 61 63]. In a traditional compiler, the optimising transformations are typically performed as rewrites on the ow graph [2, 3, 46] The diculty lies in the speci cation of the necessary side conditions. For example, consider constant propagation. In essence, it is simply the rewrite rule x : y ) x : ....

U. Assmann. How to uniformly specify program analysis and transformation with graph rewrite systems. In P. Fritzson, editor, Compiler Construction 1996.


Constant Propagation - Olmos, Visser (2002)   (Correct)

....There are three major factors to consider for a rewrite system. Expressiveness of transformations, representation of control flow paths, and data availability to test applicability conditions to perform rewriting. Rewriting is split into two di#erent areas: term rewriting and graph rewriting [3]. Term rewriting expresses transformations in a clear and elegant way, but it is more di#cult to express applicability conditions, when data not available in the inspected term is needed, term rewriting systems su#ers from this issue. In contrast, graph rewriting provides mechanisms to represent ....

Assmann, U., How To Uniformly Specify Program Analysis and Transformation, in: T. Gyimothy, editor, Internationational Conference on Compiler Construction (CC'96), Lecture Notes in Computer Science 1060 (1996), pp. 121--135.


Java and CoSy Technology for Embedded Systems: the.. - Genius, Aßmann.. (1999)   (1 citation)  (Correct)

....engines from CCMIR to HPAM (the MBE engine) A performance estimator (PE) for parallel target architectures will give the programmer quick feedback on the expected performance of parallel embedded code. The construction of engines will be done through the use of generators (RML [9] OPTIMIX [3], PAG [2] BEG [3] wherever possible. In following we will explain the problems and the resulting research and development tasks in more detail. 4. Research Direction 4.1 Modern object oriented languages require sophisticated inter class static analysis. Object oriented programming languages ....

....CCMIR to HPAM (the MBE engine) A performance estimator (PE) for parallel target architectures will give the programmer quick feedback on the expected performance of parallel embedded code. The construction of engines will be done through the use of generators (RML [9] OPTIMIX [3] PAG [2] BEG [3]) wherever possible. In following we will explain the problems and the resulting research and development tasks in more detail. 4. Research Direction 4.1 Modern object oriented languages require sophisticated inter class static analysis. Object oriented programming languages provide features ....

[Article contains additional citation context not shown here]

U. Assmann, How to Uniformly specify Program Analysis and Transformation, Proceedings of the 6 International Conference on Compiler Construction (CC) '96, LNCS 1060, Springer, 1996


Universal Regular Path Queries - de Moor, Lacey, Van Wyk (2001)   (1 citation)  (Correct)

.... yacc) for semantic analysis (attribute grammar systems such as FNC 2 and the SG [39, 56] and also for instruction selection (IBURG [34] There is however no such widely accepted tool for the declarative speci cation of optimising transformations, although there have been many proposals, e.g. [4, 10, 18, 25, 31, 41, 43, 60, 61, 63]. In a traditional compiler, the optimising transformations are typically performed as rewrites on the ow graph [2, 3, 47] The diculty lies in the speci cation of the necessary side conditions. For example, consider constant propagation. In essence, it is simply the rewrite rule x : y ) x : ....

U. Assmann. How to uniformly specify program analysis and transformation with graph rewrite systems. In P. Fritzson, editor, Compiler Construction


Preliminary Proceedings of the ACM SIGPLAN Haskell Workshop.. - (editor) (2001)   (Correct)

....this paper has demonstrated all three of those activities applied to a nontrivial problem. In contrast, batch tools like model checkers give no assistance in designing a circuit, and they give little assistance in debugging it in the event that they announce the presence of an error. Hawk [2] is another recent hardware description language similar to Hydra. It is not a clone; in particular, Hawk uses a monadic style that essentially requires the designer to write a program to construct circuits, instead of specifying circuits directly (as in Hydra and Lava) In the original Hawk, ....

....and R unger Acknowledgements We would like to thank the anonymous referees for several suggestions that helped us to improve the clarity of the paper. References [1] Koen Claessen. Embedded Languages for Describing and Verifying Hardware. PhD thesis, Chalmers University of Technology, 2001. [2] Byron Cook, John Launchbury, and John Matthews. Specifying superscalar microprocessors in Hawk. In Formal Techniques for Hardware and Hardwarelike Systems, 1998. 3] T. Cormen, C. Leiserson, and R. Rivest. Introduction to Algorithms, chapter 29. MIT Press, 1990. 4] J. Fischer and A. Ghuloum. ....

[Article contains additional citation context not shown here]

Assmann, U., How to uniformly specify program analysis and transformation with graph rewrite systems, in: Proc. Compiler Construction


Playing by the Rules: Rewriting as a practical.. - Jones, Tolmach, Hoare (2001)   (13 citations)  (Correct)

....rule states that when foldr consumes the result of a call to build, one can eliminate the intermediate list by applying g directly to k and z. To give an example of applying this rule we must write list consuming and producing functions using foldr and build respectively. For example: sum [5,4,3,2,1]) 15 sum : Int] Int sum xs = foldr ( 0 xs (down 5) 5,4,3,2,1] down : Int [Int] down v = build ( c n down v c n) down 0 cons nil = nil down v cons nil = cons v (down (v 1) cons nil) 7 Peyton Jones, Tolmach, and Hoare Again, the de nition of sum in terms of foldr ....

....eliminate the intermediate list by applying g directly to k and z. To give an example of applying this rule we must write list consuming and producing functions using foldr and build respectively. For example: sum [5,4,3,2,1] 15 sum : Int] Int sum xs = foldr ( 0 xs (down 5) [5,4,3,2,1] down : Int [Int] down v = build ( c n down v c n) down 0 cons nil = nil down v cons nil = cons v (down (v 1) cons nil) 7 Peyton Jones, Tolmach, and Hoare Again, the de nition of sum in terms of foldr is conventional. The function down returns a list of integers, from its ....

[Article contains additional citation context not shown here]

Assmann, U., How to uniformly specify program analysis and transformation with graph rewrite systems, in: Proc. Compiler Construction


Universal Regular Path Queries - de Moor, Lacey, Van Wyk (2001)   (1 citation)  (Correct)

.... yacc) for semantic analysis (attribute grammar systems such as FNC 2 and the SG [39, 56] and also for instruction selection (IBURG [34] There is however no such widely accepted tool for the declarative speci cation of optimising transformations, although there have been many proposals, e.g. [4, 10, 18, 25, 31, 41, 43, 60, 61, 63]. In a traditional compiler, the optimising transformations are typically performed as rewrites on the ow graph [2, 3, 47] The diculty lies in the speci cation of the necessary side conditions. For example, consider constant propagation. In essence, it is simply the rewrite rule x : y ) x : ....

U. Assmann. How to uniformly specify program analysis and transformation with graph rewrite systems. In P. Fritzson, editor, Compiler Construction 1996, volume 1060 of Lecture Notes in Computer Science. Springer, 1996.


Imperative Program Transformation By Rewriting - Lacey, de Moor (2001)   (16 citations)  (Correct)

....include Khepera [15] and Txl [11] It is well known from the compiler literature that the program analyses necessary in the side conditions of transformations are best expressed in terms of the control ow graph of an imperative program. This has led a number of researchers, in particular Assman [4] and Whit eld and So a [33] to investigate graph transformation as a basis for optimising imperative programs. Whit eld and So a s system, which is called Genesis, allows the speci cation of transformations in a language named Gospel. Gospel has very neat declarative speci cations of side ....

U. Assmann. How to uniformly specify program analysis and transformation with graph rewrite systems. In P. Fritzson, editor, Compiler Construction 1996, volume 1060 of Lecture Notes in Computer Science. Springer, 1996.


Imperative Program Transformation By Rewriting - Lacey, de Moor (2001)   (16 citations)  (Correct)

....include Khepera [11] and Txl [8] It is well known from the compiler literature that the program analyses necessary in the side conditions of transformations are best expressed in terms of the control ow graph of an imperative program. This has led a number of researchers, in particular Assman [3] and Whit eld and So a [26] to investigate graph transformation as a basis for optimising imperative programs. Whit eld and So a s system, which is called Genesis, allows the speci cation of transformations in a language named Gospel. Gospel has very neat declarative speci cations of side ....

U. Assmann. How to uniformly specify program analysis and transformation with graph rewrite systems. In P. Fritzson, editor, Compiler Construction 1996, volume 1060 of Lecture Notes in Computer Science. Springer, 1996.


Frameworks for Intra- and Interprocedural Dataflow Analysis - Chambers, Dean, Grove (1996)   (10 citations)  (Correct)

.... for reaching fixpoint in the presence of loops, and so on, and it is common to develop reusable dataflow analysis frameworks or generators that encapsulate the recurring mechanisms [Tjiang Hennessy 92, Hall et al. 93, Hendren et al. 93, Yi Harrison 93, Alt Martin 95, Dwyer Clarke 96, Assmann 96, Adl Tabatbai et al. 96] A client dataflow analysis is implemented simply by instantiating or parameterizing the generic framework with the particulars of that analysis. We have designed, implemented, and used a framework for implementing intra and interprocedural dataflow analyses as part of ....

.... 18 Frameworks for Intra and Interprocedural Dataflow Analysis Chambers et al. Assmann has developed a model for integrated analyses and transformations where everything ranging from the program representation to the dataflow analysis information is represented by a particular graph model [Assmann 96] Analyses and transformations are expressed as graph rewrite rules, which are fired whenever their preconditions over the input graph structure are satisfied, leading to more of a constraintbased flavor of program analysis. There is no support, however, for tentatively performing graph ....

Uwe Assmann. How to Uniformly Specify Program Analysis and Transformations with Graph Rewrite Systems. In Proceedings of the CC'96. 6'th International Conference on Compiler Construction, pages 121--135. Springer-Verlag, April 1996.


OPTIMIXing - Aßmann   (Correct)

....and on practical experiences with the tool. Keywords: Graph rewriting, graph algorithms, program generators, specifications, Datalog. 1 Introduction Optimization algorithms should be specified abstractly and easily. Recently it has been discovered that this is possible using graph rewrite systems [Ass96a]. To facilitate the construction of optimizers, tools are desired which generate optimization algorithms from graph rewrite specifications. OPTIMIX is such a tool. While earlier papers have reported on the theoretical background of graph rewrite systems in optimization, this paper concentrates on ....

....of graph rewrite systems in optimization, this paper concentrates on the specification language of OPTIMIX. This language is based on Datalog and relational graph rewriting, more specifically, on edge addition rewrite systems (EARS) and more general exhaustive graph rewrite systems (XGRS) [Ass96a] [A m96] EARS can be used to construct graphs and to materialize implicit relations to explicit ones. They are equivalent to a subset of Datalog and always yield unique results because they are congruent [Ass95] Additionally, XGRS allow graph manipulations, and may result in multiple normal ....

[Article contains additional citation context not shown here]

Uwe Assmann. How To Uniformly Specify Program Analysis and Transformation. In P. A. Fritzson, editor, Compiler Construction (CC), volume 1060 of Lecture Notes in Computer Science, pages 121--135, Heidelberg, 1996. Springer Verlag.


Building Program Optimizers with Rewriting Strategies - Visser, Benaissa, Tolmach (1998)   (32 citations)  (Correct)

....can also define much more fine grained strategies where needed. Numerous other systems provide mechanisms for generating transformation code, but none appears to offer our flexible combination of generic and rule specific strategies. DFA OPT MetaFrame [18] Sharlit [25] Genesis [28] and OPTIMIX [5] are all primarily designed as analyzer generator systems, each focused on a particular style of analysis. Their published descriptions do not give many details about their transformation capabilities, but none appears to give the user any control over transformation order. At the opposite ....

Uwe Assmann. How to uniformly specify program analysis and transformation with graph rewrite systems. In Proceedings Compiler Construction 1996, number 1060 in Lecture Notes in Computer Science, 1996.


A Toolkit for Constructing Type- and Constraint-Based.. - Aiken, Fähndrich.. (1998)   (25 citations)  (Correct)

....true 1 ffl 2 The flow information now precisely models the fact that only true is passed as the second argument to z:w:w. 4 Analysis Frameworks We conclude by comparing BANE with other program analysis frameworks. There have been many such frameworks in the past; see for example [ATGL96,AM95,Ass96,CDG96,DC96,HMCCR93,TH92,Ven89,YH93] Most frameworks are based on standard dataflow analysis, as first proposed by Cocke [Coc70] and developed by Kildall [Kil73] and Kam and Ullman [KU76] while others are based on more general forms of abstract interpretation [Ven89,YH93] In previous ....

U. Assmann. How to Uniformly Specify Program Analysis and Transformation with Graph Rewrite Systems. In Proceedings of the Sixth International Conference on Compiler Construction (CC '96), pages 121--135. Springer-Verlag, April 1996.


Java and CoSy Technology for Embedded Systems: the.. - GENIUS, ASSMANN.. (1999)   (1 citation)  Self-citation (Assmann)   (Correct)

No context found.

U. Assmann, How to Uniformly specify Program Analysis and Transformation, Proceedings of Compiler Construction (CC) '96, LNCS 1060, Springer, 1996


AOP with design patterns as meta-programming operators - Uwe Assmann (1997)   (1 citation)  Self-citation (Assmann)   (Correct)

....the operators manually, otherwise the system would choose an arbitrary composition sequence. To check the harmlessness of the composition, all we have to do is to apply standard program analysis techniques incrementally after each composition. For data flow analysis specification tools exist [Ass96]. In order to avoid that the entire class graph must be analysed, an incremental data flow analysis technique can be applied [MR90] First, such a technique analyses which parts of the class graph have changed. Based on that, parts of old analysis results are reused. Also techniques from ....

Uwe Assmann. How To Uniformly Specify Program Analysis and Transformation. In P. A. Fritzson, editor, Compiler Construction (CC), volume 1060 of Lecture Notes in Computer Science, pages 121--135, Heidelberg, 1996. Springer.


OPTIMIX Language Manual (for OPTIMIX 2.4) - Aßmann (1997)   Self-citation (Assmann)   (Correct)

....are found on the postcard, the better Chapter 1 General Topics This is the language manual for OPTIMIX, the optimizer generator. OPTIMIX can be used to generate program analyses and transformations in C language. Its input language is based on Datalog and graph rewriting [Ass94] Ass95] [Ass96]. Especially two new classes of graph rewrite systems are used: edge addition rewrite systems (EARS) and exhaustive graph rewrite systems (XGRS) The development of OPTIMIX has partially been supported by the Esprit project COMPARE (No. 5399) The tool is not in the public domain; however, a free ....

....rewrite systems (XGRS) The development of OPTIMIX has partially been supported by the Esprit project COMPARE (No. 5399) The tool is not in the public domain; however, a free version can be ordered from the author. It is highly recommended that the user first reads the papers [Ass94] Ass95] [Ass96] [A m96] Ass94] and [A m96] are available with the OPTIMIX package. 1.1 Design procedure for an optimizer In order to generate optimizer parts with OPTIMIX we propose the following procedure [Ass96] 1. Write down all preconditions for a transformation, perhaps in text. 2. Define the data model ....

[Article contains additional citation context not shown here]

Uwe Assmann. How To Uniformly Specify Program Analysis and Transformation. In P. A. Fritzson, editor, Compiler Construction (CC), volume 1060 of Lecture Notes in Computer Science, pages 121--135, Heidelberg, 1996. Springer Verlag.


A Framework for Automatic Generation of Code Optimizers - Karuri (1999)   (Correct)

No context found.

Assmann, U. Compiler Construction. Springer, 1996, ch. How To Uniformly Specify Program Analysis and Transformation.

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