Matches in SemOpenAlex for { <https://semopenalex.org/work/W80974014> ?p ?o ?g. }
Showing items 1 to 69 of
69
with 100 items per page.
- W80974014 abstract "Automatic optimizers for computer programs work with a fixed list of rote transformations, while human programmers can go on to derive new optimizations from broad and intuitive principles if known transformations prove inadequate. This dissertation investigates the possibility that principled optimization can be automated, focusing on a single principle (the principle that programs should not do anything unnecessary) and a single program domain (the domain of purely functional, first-order programs). Three questions are explored: How can the principle be formalized? How can violations of the principle be detected? How can violations be repaired? The trace grammar is a new representation for first-order functional programs. It permits a simple formal statement of the optimizing principle. A trace grammar is a kind of graph grammar. An individual graph represents a path of execution through the program, without any loops or conditionals. The grammar for a program generates a language of graphs representing the possible paths of execution through that program. Trace grammars provide unique leverage for the twin problems of identifying and repairing violations of the principle. Detecting violations of the principle is a problem in semantic analysis. A new method of inference, the relational constraint method, helps make this tractable. The method treats a trace graph as a system of constraints on a lattice of binary relations, and uses those constraints to develop the strongest relation it can find for each pair of values in the graph. Repairing violations is not easy: given an example of an unnecessary computation performed by the program, one wants to modify the program so that it never makes that mistake. This grammar thinning problem for trace grammars corresponds to an interesting open problem on context-free grammars. An (approximate) solution to this CFG problem yields an optimization technique for trace grammars. An optimizer called Thinner is the proof-of-concept for these ideas. Using the techniques outlined above, Thinner rediscovers a variety of common compiler optimizations. It also finds other, more exotic transformations, including the well-known Fibonacci reformulation. Thinner demonstrates the potential of the principled approach as a high-powered optimizing tool." @default.
- W80974014 created "2016-06-24" @default.
- W80974014 creator A5023798265 @default.
- W80974014 date "1993-01-02" @default.
- W80974014 modified "2023-09-24" @default.
- W80974014 title "Principled Optimization of Functional Programs" @default.
- W80974014 hasPublicationYear "1993" @default.
- W80974014 type Work @default.
- W80974014 sameAs 80974014 @default.
- W80974014 citedByCount "0" @default.
- W80974014 crossrefType "journal-article" @default.
- W80974014 hasAuthorship W80974014A5023798265 @default.
- W80974014 hasConcept C118615104 @default.
- W80974014 hasConcept C132525143 @default.
- W80974014 hasConcept C138885662 @default.
- W80974014 hasConcept C153083717 @default.
- W80974014 hasConcept C154945302 @default.
- W80974014 hasConcept C199360897 @default.
- W80974014 hasConcept C26022165 @default.
- W80974014 hasConcept C2776214188 @default.
- W80974014 hasConcept C33923547 @default.
- W80974014 hasConcept C41008148 @default.
- W80974014 hasConcept C41895202 @default.
- W80974014 hasConcept C42383842 @default.
- W80974014 hasConcept C65180967 @default.
- W80974014 hasConcept C75291252 @default.
- W80974014 hasConcept C80444323 @default.
- W80974014 hasConceptScore W80974014C118615104 @default.
- W80974014 hasConceptScore W80974014C132525143 @default.
- W80974014 hasConceptScore W80974014C138885662 @default.
- W80974014 hasConceptScore W80974014C153083717 @default.
- W80974014 hasConceptScore W80974014C154945302 @default.
- W80974014 hasConceptScore W80974014C199360897 @default.
- W80974014 hasConceptScore W80974014C26022165 @default.
- W80974014 hasConceptScore W80974014C2776214188 @default.
- W80974014 hasConceptScore W80974014C33923547 @default.
- W80974014 hasConceptScore W80974014C41008148 @default.
- W80974014 hasConceptScore W80974014C41895202 @default.
- W80974014 hasConceptScore W80974014C42383842 @default.
- W80974014 hasConceptScore W80974014C65180967 @default.
- W80974014 hasConceptScore W80974014C75291252 @default.
- W80974014 hasConceptScore W80974014C80444323 @default.
- W80974014 hasLocation W809740141 @default.
- W80974014 hasOpenAccess W80974014 @default.
- W80974014 hasPrimaryLocation W809740141 @default.
- W80974014 hasRelatedWork W106843314 @default.
- W80974014 hasRelatedWork W1142535112 @default.
- W80974014 hasRelatedWork W114885797 @default.
- W80974014 hasRelatedWork W1555438985 @default.
- W80974014 hasRelatedWork W181154243 @default.
- W80974014 hasRelatedWork W1830810730 @default.
- W80974014 hasRelatedWork W2001839929 @default.
- W80974014 hasRelatedWork W2087062265 @default.
- W80974014 hasRelatedWork W2094518006 @default.
- W80974014 hasRelatedWork W2120621168 @default.
- W80974014 hasRelatedWork W2253830531 @default.
- W80974014 hasRelatedWork W2293948197 @default.
- W80974014 hasRelatedWork W2295819238 @default.
- W80974014 hasRelatedWork W2544347935 @default.
- W80974014 hasRelatedWork W2576237879 @default.
- W80974014 hasRelatedWork W2924293248 @default.
- W80974014 hasRelatedWork W2963792317 @default.
- W80974014 hasRelatedWork W3183197268 @default.
- W80974014 hasRelatedWork W82362649 @default.
- W80974014 hasRelatedWork W3081930471 @default.
- W80974014 isParatext "false" @default.
- W80974014 isRetracted "false" @default.
- W80974014 magId "80974014" @default.
- W80974014 workType "article" @default.