Reasoning About Program Transformations Imperative Programming and Flow of Data /

Overview The motivation of this text lies in what we believe is the inadequacy of current frameworks to reason about the ?ow of data in imperative programs. This inadequacy clearly shows up when dealing with the individual side effects of loop iterations. - deed, we face a paradoxical situation wher...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Συγγραφή απο Οργανισμό/Αρχή: SpringerLink (Online service)
Άλλοι συγγραφείς: Collard, Jean-François (Επιμελητής έκδοσης)
Μορφή: Ηλεκτρονική πηγή Ηλ. βιβλίο
Γλώσσα:English
Έκδοση: New York, NY : Springer New York, 2003.
Θέματα:
Διαθέσιμο Online:Full Text via HEAL-Link
LEADER 03337nam a22004815i 4500
001 978-0-387-22461-9
003 DE-He213
005 20151204173050.0
007 cr nn 008mamaa
008 100301s2003 xxu| s |||| 0|eng d
020 |a 9780387224619  |9 978-0-387-22461-9 
024 7 |a 10.1007/b97654  |2 doi 
040 |d GrThAP 
050 4 |a QA76.7-76.73 
050 4 |a QA76.76.C65 
072 7 |a UMX  |2 bicssc 
072 7 |a UMC  |2 bicssc 
072 7 |a COM051010  |2 bisacsh 
072 7 |a COM010000  |2 bisacsh 
082 0 4 |a 005.13  |2 23 
245 1 0 |a Reasoning About Program Transformations  |h [electronic resource] :  |b Imperative Programming and Flow of Data /  |c edited by Jean-François Collard. 
264 1 |a New York, NY :  |b Springer New York,  |c 2003. 
300 |a XVIII, 238 p.  |b online resource. 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file  |b PDF  |2 rda 
505 0 |a Basic Concepts -- Describing Program Executions -- Labels -- Analyses and Transformations -- Revisiting Some Classical Compiler Concepts -- Reaching Definition Analysis -- Applications of Reaching Definition Analysis -- Some Classical Compiler Concepts, Part II -- Data Flow and Expansion -- Single-Assignment Forms -- Maximal Static Expansion -- Parallel Languages -- Conclusion: Toward Algorithm Recognition. 
520 |a Overview The motivation of this text lies in what we believe is the inadequacy of current frameworks to reason about the ?ow of data in imperative programs. This inadequacy clearly shows up when dealing with the individual side effects of loop iterations. - deed, we face a paradoxical situation where, on the one hand, a typical program spends most of its execution time iterating or recursing on a few lines of codes, and, on the other hand, current optimization frameworks are clumsy when trying to capture the effects of each incarnation of these few lines—frameworks we inherited from designs made decades ago. The reasons are manyfold, but one of them stands out: The same concepts have been used, on the one hand, to represent and manipulate programs internally in compilers and, on the other hand, to allow us humans to reason about optimizations. Unfortunately, these two uses have different aims and constraints. An example of such a situation is given by control-?ow graphs of basic blocks, which have been - tremely useful in practice as an internal representation of programs, but which are not always adequate or convenient to formally think about programs and specify their transformations. In some cases, de?nitions based on control-?ow graphs can be overly restrictive. Dominance, studied in Chapter 4, is a good example. 
650 0 |a Computer science. 
650 0 |a Computer programming. 
650 0 |a Programming languages (Electronic computers). 
650 1 4 |a Computer Science. 
650 2 4 |a Programming Languages, Compilers, Interpreters. 
650 2 4 |a Programming Techniques. 
700 1 |a Collard, Jean-François.  |e editor. 
710 2 |a SpringerLink (Online service) 
773 0 |t Springer eBooks 
776 0 8 |i Printed edition:  |z 9780387953915 
856 4 0 |u http://dx.doi.org/10.1007/b97654  |z Full Text via HEAL-Link 
912 |a ZDB-2-SCS 
912 |a ZDB-2-BAE 
950 |a Computer Science (Springer-11645)