Intersection Types and Higher-Order Model Checking

Total Page:16

File Type:pdf, Size:1020Kb

Intersection Types and Higher-Order Model Checking Intersection Types and Higher-Order Model Checking Steven J. Ramsay Merton College University of Oxford A dissertation submitted for the degree of Doctor of Philosophy in Computer Science Trinity Term 2013 Abstract Higher-order recursion schemes are systems of equations that are used to define finite and infinite labelled trees. Since, as Ong has shown, the trees defined have a decidable monadic second order theory, recursion schemes have drawn the attention of research in program verification, where they sit naturally as a higher-order, functional analogue of Boolean programs. Driven by applications, fragments have been studied, algorithms developed and extensions proposed; the emerging theme is called higher- order model checking. Kobayashi has pioneered an approach to higher-order model checking using intersection types, from which many recent advances have followed. The key is a characterisation of model checking as a problem of intersection type assignment. This dissertation contributes to both the theory and practice of the intersection type approach. A new, fixed-parameter polynomial-time decision procedure is described for the alternating trivial automaton fragment of higher-order model checking. The algorithm uses a novel, type-directed form of abstraction refinement, in which behaviours of the scheme are distinguished according to the intersection types that they inhabit. Furthermore, by using types to reason about acceptance and rejection simultaneously, the algorithm is able to converge on a solution from two sides. An implementation, Preface, and an extensive body of evidence demonstrate empirically that the algorithm scales well to schemes of several thousand rules. A comparison with other tools on benchmarks derived from current practice and the related literature puts it well beyond the state-of-the-art. A generalisation of the intersection type approach is presented in which higher- order model checking is seen as an instance of exact abstract interpretation. Intersec- tion type assignment is used to characterise a general class of safety checking problems, defined independently of any particular representation (such as automata) for a class of recursion schemes built over arbitrary constants. Decidability of any problem in the class is an immediate corollary. Moreover, the work looks beyond whole-program verification, the traditional territory of model checking, by giving a natural treatment of higher-type properties, which are sets of functions. Acknowledgements I am very grateful to my supervisor, Luke Ong, for the patient guidance and con- stant encouragement that he has given to me during the course of the research con- tained in this dissertation. My thanks are also due to Martin Hofmann and Hongseok Yang, who gave much of their time to ensure its proper assessment. Finally, I grate- fully acknowledge the help of the Engineering and Physical Sciences Research Council, whose financial support has been essential. Contents Contents vii 1 Introduction1 1.1 The difficulties of constructing correct software................ 1 1.2 Verification and software model checking.................... 2 1.3 Functional programming............................. 3 1.4 Higher-order model checking .......................... 5 1.5 Contributions and structure........................... 6 2 Higher-Order Model Checking9 2.1 Higher-order recursion schemes......................... 9 2.2 Model checking problems for recursion schemes................ 23 2.3 The intersection type characterisation ..................... 27 2.4 Algorithms for higher-order model checking.................. 33 2.5 Applications in verification ........................... 39 3 An Intersection Refinement Type System with Subtyping 45 3.1 Intersection types................................. 45 3.2 Intersection type assignment........................... 49 3.3 Intersection type checking............................ 54 3.4 Consistency of type environments........................ 56 3.5 Higher-order model checking is type inference................. 60 4 Model Checking via Type Directed Abstraction Refinement 63 4.1 Introduction.................................... 63 4.2 Type directed abstraction refinement...................... 65 4.3 A decision procedure for model checking.................... 70 4.4 A narrated example ............................... 80 4.5 Correctness of the decision procedure...................... 84 4.6 Preface: a higher-order model checker .................... 97 vii Contents 4.7 Related work ...................................102 5 Intersection Types as Exact Abstract Interpretations 107 5.1 Introduction....................................107 5.2 Term languages, property languages and queries . 109 5.3 Concrete and abstract properties........................118 5.4 Exact abstraction at ground types .......................122 5.5 Applications to higher-order model checking..................129 5.6 Exact abstraction at higher types........................134 5.7 Related work ...................................138 6 Conclusion 141 6.1 Summary .....................................141 6.2 Discussion.....................................142 6.3 Future directions.................................144 A Evaluation: Complete Results 147 Bibliography 157 Index of Definitions 163 Index of Notations 165 viii Chapter 1 Introduction 1.1 The difficulties of constructing correct software “Because, in a sense, the whole is ‘bigger’ than its parts, the depth of a hierarchical decomposition is some sort of logarithm of the ratio of the ‘sizes’ of the whole and the ultimate smallest parts. From a bit to a few hundred megabytes, from a microsecond to a half an hour of computing confronts us with completely baffling ratio of 109! The programmer is in the unique position that his is the only discipline and profession in which such a gigantic ratio, which totally baffles our imagination, has to be bridged by a single technology.” E. W. Dijkstra Software is complex. Of course, the size of modern computer programs, which may be documents tens of millions of lines long, is a major factor in complexity. That such software, whose complete comprehension is well beyond the faculties of any one person, works even some of the time is a great achievement of the methods of modern software engineering; that it fails the rest of the time is a great frustration of its users. However, the sheer scale of the objects that are involved is only a small part of the problem. There is also the great depth of the hierarchies involved, as pointed out in the excerpt above by Dijkstra, one of the great pioneers of the science of computer programming. Such hierarchies are inevitable when thinking about how to instruct a machine, whose basic operations can be applied to (perhaps) 64 bits at a time, in how to perform complex processing tasks that may ultimately involve many gigabytes of data. Still other factors are social and related to the education of computer programmers, the expectations of their clients and the lack of generally accepted standards. The consequence of software complexity, and our apparent inability to manage it ef- fectively, is an unacceptable rate of defects. At the time of writing, it would be very surprising to find any serious user of computing equipment who had not suffered frustra- tion with the inadequacies of faulty computer programs. That this statement is hardly controversial is already a serious indictment of the state of affairs, but such is the perva- siveness of computing in industry and in business that faulty software also carries with 1 1. Introduction it a tangible financial cost. In a 2002 report [RTI, 2002], the National Institute of Stan- dards and Technology (NIST) estimated the cost to the United States national economy of failing to identify defects in computer software as $59.5 billion, annually. To put the figure into context, the economic cost of Hurricane Sandy which, among other disastrous effects, caused the cancellation of almost 20,000 airline flights, left millions without power, destroyed thousands of homes, and completely closed the New York Stock Exchange for two days, was recently estimated at $65 billion [see US NOAA 2013]. Conventionally, the main weapon with which to combat software defects is testing. Testing is the work of running a given program on various inputs and observing the corresponding outputs. In many respects, this follows the same well-established pattern found in engineering more generally: once a component of some design is built, it is tested in order to check that it performs correctly within some tolerances and, if this is the case, then it is accepted. However, software is unlike the familiar materials of other engineering disciplines. Its behaviour does not conform to well known physical principles; instead the laws which it obeys are a function of the code that the programmer has written. In effect, each piece of software is a new material, whose attributes must be divined by experimentation. Even two pieces of software written to the same specification and in the same design are unlikely to share all the same attributes, since each will almost certainly have its own unique set of faults which serve to distort the original intention in unpredictable ways. Consequently, to be effective, software testing must be extremely thorough, and hence expensive. A study undertaken by Maximilien and Williams[2003] at IBM found that, by adopting a test-driven development methodology, they were able to reduce the density of defects discovered from 7 per thousand
Recommended publications
  • A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems
    A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems Benyamin Y. Y. Aziz, M.Sc. School of Computing, Dublin City University A thesis presented in fulfillment of the requirements for the degree of Doctor of Philosophy Supervisor: Dr Geoff Hamilton September 2003 “Start by doing what’s necessary; then do what’s possible; and suddenly you are doing the impossible” St. Francis of Assisi To Yowell, Olivia and Clotilde Declaration I hereby certify that this material, which I now submit for assessment on the programme of study leading to the award of the degree of Doctor of Philosophy (Ph.D.) is entirely my own work and has not been taken from the work of others save and to the extent that such work has been cited and acknowledged within the text of my work. Signed: I.D. No.: Date: Acknowledgements I would like to thank all those people who were true sources of inspiration, knowledge, guidance and help to myself throughout the period of my doctoral research. In particular, I would like to thank my supervisor, Dr. Geoff Hamilton, without whom this work would not have seen the light. I would also like to thank Dr. David Gray, with whom I had many informative conversations, and my colleagues, Thomas Hack and Fr´ed´ericOehl, for their advice and guidance. Finally, I would like to mention that the work of this thesis was partially funded by project IMPROVE (Enterprise Ireland Strategic Grant ST/2000/94). Benyamin Aziz Abstract We introduce a static analysis framework for detecting instances of security breaches in infinite mobile and cryptographic systems specified using the languages of the π-calculus and its cryptographic extension, the spi calculus.
    [Show full text]
  • Static Analyses for Stratego Programs
    Static analyses for Stratego programs BSc project report June 30, 2011 Author name Vlad A. Vergu Author student number 1195549 Faculty Technical Informatics - ST track Company Delft Technical University Department Software Engineering Commission Ir. Bernard Sodoyer Dr. Eelco Visser 2 I Preface For the successful completion of their Bachelor of Science, students at the faculty of Computer Science of the Technical University of Delft are required to carry out a software engineering project. The present report is the conclusion of this Bachelor of Science project for the student Vlad A. Vergu. The project has been carried out within the Software Language Design and Engineering Group of the Computer Science faculty, under the direct supervision of Dr. Eelco Visser of the aforementioned department and Ir. Bernard Sodoyer. I would like to thank Dr. Eelco Visser for his past and ongoing involvment and support in my educational process and in particular for the many opportunities for interesting and challenging projects. I further want to thank Ir. Bernard Sodoyer for his support with this project and his patience with my sometimes unconvential way of working. Vlad Vergu Delft; June 30, 2011 II Summary Model driven software development is gaining momentum in the software engi- neering world. One approach to model driven software development is the design and development of domain-specific languages allowing programmers and users to spend more time on their core business and less on addressing non problem- specific issues. Language workbenches and support languages and compilers are necessary for supporting development of these domain-specific languages. One such workbench is the Spoofax Language Workbench.
    [Show full text]
  • A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems
    A Static Analysis Framework for Security Properties in Mobile and Cryptographic Systems Benyamin Y. Y. Aziz, M.Sc. School of Computing, Dublin City University A thesis presented in fulfillment of the requirements for the degree of Doctor of Philosophy Supervisor: Dr Geoff Hamilton September 2003 “Start by doing what’s necessary; then do what’s possible; and suddenly you are doing the impossible” St. Francis of Assisi To Yowell, Olivia and Clotilde Declaration I hereby certify that this material, which I now submit for assessment on the programme of study leading to the award of the degree of Doctor of Philosophy (Ph.D.) is entirely my own work and has not been taken from the work of others save and to the extent that such work has been cited and acknowledged within the text of my work. Signed: I.D. No.: Date: Acknowledgements I would like to thank all those people who were true sources of inspiration, knowledge, guidance and help to myself throughout the period of my doctoral research. In particular, I would like to thank my supervisor, Dr. Geoff Hamilton, without whom this work would not have seen the light. I would also like to thank Dr. David Gray, with whom I had many informative conversations, and my colleagues, Thomas Hack and Fr´ed´ericOehl, for their advice and guidance. Finally, I would like to mention that the work of this thesis was partially funded by project IMPROVE (Enterprise Ireland Strategic Grant ST/2000/94). Benyamin Aziz Abstract We introduce a static analysis framework for detecting instances of security breaches in infinite mobile and cryptographic systems specified using the languages of the π-calculus and its cryptographic extension, the spi calculus.
    [Show full text]
  • Galois a Language for Proofs Using Galois Connections and Fork Algebras
    Galois A Language for Proofs Using Galois Connections and Fork Algebras Paulo F. Silva Joost Visser Jose´ N. Oliveira CCTC, University of Minho, Braga Software Improvement Group CCTC, University of Minho, Braga Portugal The Netherlands Portugal paufi[email protected] [email protected] [email protected] Abstract DSLs in associated tool support for theorem proving and proof Galois is a domain specific language supported by the Galculator assistance. This tool, called Galculator (= Galois connection + interactive proof-assistant prototype. Galculator uses an equational calculator) [Silva and Oliveira 2008a], takes Galois connections approach based on Galois connections with indirect equality as as primitives and exploits their algebraic properties in proofs. Basi- an additional inference rule. Galois allows for the specification of cally, a Galois connection is a pair of functions with “good” preser- different theories in a point-free style by using fork algebras, an vation properties which connect two domains. Often, problems in extension of relation algebras with expressive power of first-order one of the domains are easier to solve than problems in the other logic. The language offers sub-languages to derive proof rules from domain. Using a Galois connection it is possible to map a “hard” Galois connections, to express proof tactics, and to organize axioms problem to an equivalent but easier one in the other domain, to and theorems into modular definitions. find its solution, and then map it back to the result in the origi- In this paper, we describe how the algebraic theory underlying nal domain (this is known as “shunting”). Galois connections are the proof-method drives the design of the Galois language.
    [Show full text]
  • Security and Privacy Implications of Third-Party Access to Online Social Networks
    Die approbierte Originalversion dieser Dissertation ist in der Hauptbibliothek der Technischen Universität Wien aufgestellt und zugänglich. http://www.ub.tuwien.ac.at The approved original version of this thesis is available at the main library of the Vienna University of Technology. http://www.ub.tuwien.ac.at/eng Security and Privacy Implications of Third-Party Access to Online Social Networks PhD THESIS submitted in partial fulfillment of the requirements of Doctor of Technical Sciences within the Vienna PhD School of Informatics by Markus Huber, M.Sc. Registration Number 0306665 to the Faculty of Informatics at the Vienna University of Technology Advisor: Privatdoz. Dipl.-Ing. Mag.rer.soc.oec. Dr.techn. Edgar Weippl Second advisor: o.Univ.Prof. Dipl.Ing. Dr. A Min Tjoa External reviewers: Assoc. Prof. Dr. Engin Kirda. Northeastern University, USA. Prof. Dr. Stefan Katzenbeisser. Technische Universität Darmstadt, Germany. Wien, 27.08.2013 (Signature of Author) (Signature of Advisor) Technische Universität Wien A-1040 Wien Karlsplatz 13 Tel. +43-1-58801-0 www.tuwien.ac.at Declaration of Authorship Markus Huber, M.Sc. Burggasse 102/8, AT-1070 Vienna, Austria I hereby declare that I have written this Doctoral Thesis independently, that I have com- pletely specified the utilized sources and resources and that I have definitely marked all parts of the work - including tables, maps and figures - which belong to other works or to the internet, literally or extracted, by referencing the source as borrowed. (Vienna, 27/08/2013) (Signature of Author) i Acknowledgements I am grateful to my supervisor Edgar R. Weippl for his excellent mentoring over the course of my postgraduate studies and for giving me the freedom to pursue my own research ideas.
    [Show full text]
  • Bulletin of the German Historical Institute Bulletin of the German Historical Institute Washington DC
    Fall 2020 Bulletin of the German Historical Institute Bulletin of the German Historical Institute Washington DC Editor: Richard F. Wetzell Assistant Editor: Insa Kummer The Bulletin appears twice a year and is available free of charge. Current and back issues are available online at: www.ghi-dc.org/bulletin To sign up for a subscription or to report an address change please send an email to [email protected]. For editorial comments or inquiries, please contact the editor at [email protected] or at the address below. For further information about the GHI, please visit our web site www.ghi-dc.org. For general inquiries, please send an email to [email protected]. German Historical Institute 1607 New Hampshire Ave NW Washington DC 20009-2562 USA Phone: (202) 387-3355 Fax: (202) 483-3430 © German Historical Institute 2020 All rights reserved ISSN 1048-9134 Bulletin of the German Historical Institute 67 | Fall 2020 3 Preface FORUM: NEW RESEARCH IN TRANSATLANTIC HISTORY Edited by Axel Jansen and Claudia Roesch 7 Introduction: New Trends in Transatlantic History Axel Jansen and Claudia Roesch 17 “The Indians must yield”: Antebellum Free Land, the Homestead Act, and the Displacement of Native Peoples Julius Wilm 41 Trading in the Shadow of Neutrality: German-Speaking Europe’s Commerce with Union and Confederacy during the American Civil War Patrick Gaul 71 A Tumultuous Relationship: Nicholas Murray Butler and Germany in the Era of the Two World Wars Elisabeth Piller 101 “Taken on faith”: Expertise in Aerial Warfare and the Democratic “West” in the
    [Show full text]
  • Inductive Representation, Proofs and Refinement of Pointer Structures
    THÈSETHÈSE En vue de l’obtention du DOCTORAT DE L’UNIVERSITÉ DE TOULOUSE Délivré par : l’Université Toulouse 3 Paul Sabatier (UT3 Paul Sabatier) Présentée et soutenue le 20 juin 2013 par : Mathieu Giorgino Inductive Representation, Proofs and Refinement of Pointer Structures (Représentation Inductive, Preuves et Raffinement de Structures de Pointeurs) JURY Rachid Echahed Chargé de Recherche CNRS LIG, Grenoble Louis Féraud Professeur des Universités IRIT, Toulouse Ralph Matthes Chargé de Recherche CNRS IRIT, Toulouse Pierre-Etienne Moreau Professeur des Universités INRIA, Nancy Marc Pantel Maître de Conférence IRIT-ENSEEIHT, Toulouse Martin Strecker Maître de Conférence IRIT, Toulouse Arnaud J. Venet Chargé de Recherche NASA Ames, Mountain View École doctorale et spécialité : MITT : Domaine STIC : Sureté de logiciel et calcul de haute performance Unité de Recherche : IRIT Directeurs de Thèse : Ralph Matthes et Martin Strecker Rapporteurs : Pierre-Etienne Moreau et Rachid Echahed Remerciements Je tiens tout d’abord à remercier tous les membres de mon jury au sens large (invités ou non), à commencer par mes rapporteurs Rachid Echahed et Pierre-Etienne Moreau qui ont accepté de prendre le temps de lire et évaluer ce que j’avais pu écrire. Je remercie aussi Marc Pantel pour les cours qu’il a pu me donner et sans qui cette thèse n’aurait pas pu commencer. Merci également à Louis Féraud d’avoir accepté de faire partie de ce jury et à Arnaud Venet pour sa cordialité et son humanité. Évidement cette thèse n’aurait jamais pu être accomplie sans mes deux directeurs Ralph Matthes et Martin Strecker. Je remercie Ralph pour tous les bons conseils qu’il m’a donné, tirés de son expérience raisonnée et de sa rigueur.
    [Show full text]
  • Deriving Dynamic-Programming Algorithms Based on Preservation of Monotonicity
    MATHEMATICAL ENGINEERING TECHNICAL REPORTS Calculus of Minimals: Deriving Dynamic-Programming Algorithms based on Preservation of Monotonicity Akimasa MORIHATA and Kiminori MATSUZAKI and Zhenjiang HU and Masato TAKEICHI METR 2007{61 December 2007 DEPARTMENT OF MATHEMATICAL INFORMATICS GRADUATE SCHOOL OF INFORMATION SCIENCE AND TECHNOLOGY THE UNIVERSITY OF TOKYO BUNKYO-KU, TOKYO 113-8656, JAPAN WWW page: http://www.keisu.t.u-tokyo.ac.jp/research/techrep/index.html The METR technical reports are published as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have o®ered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder. Calculus of Minimals: Deriving Dynamic-Programming Algorithms based on Preservation of Monotonicity Akimasa Morihata Kiminori Matsuzaki Zhenjiang Hu Masato Takeichi fmorihata,[email protected] fhu,[email protected] The University of Tokyo Abstract Constructing e±cient algorithms is di±cult and often considered to be a privilege of a few special- ists. Program calculation is a methodology for easy construction of e±cient algorithms, where e±cient algorithms are systematically derived from naive but obviously correct algorithms by calculational laws. This paper shows an ongoing e®ort to give a clear and e®ective methodology to deal with combinatorial optimization problems based on program calculation.
    [Show full text]
  • Zur Praktischen Anwendbarkeit Mathematisch Rigoroser Methoden Zum Sicherstellen Der Korrektheit Von Sequentiellen Computerprogrammen
    Zur praktischen Anwendbarkeit mathematisch rigoroser Methoden zum Sicherstellen der Korrektheit von sequentiellen Computerprogrammen an den Fachbereich Informatik der Technischen Hochschule Darmstadt zum Erlangen des akademischen Grades Doktor-Ingenieur (Dr.-Ing.) eingereichte Dissertation von Robert Laurence Baber geboren in Los Angeles, California, U.S.A. Master of Science in Electrical Engineering und Master of Science in Industrial Management, Massachusetts Institute of Technology Erstreferent: Prof. Dr.-Ing. Hans-Jürgen Hoffmann Korreferent: Prof. Dr. David Lorge Parnas eingereicht am: 1994 August 4 Prüfungstermin: 1994 September 30 Erschienen in Darmstadt, 1994 D 17ÜÜÜ GGGKolumnentitelzeile 14,4p hoch. Kolumnentitel 10p, Seitenzahl 12p GGG ÜÜÜ ÜÜÜ GGGAbstandszeile, 13,98p hoch GGG ÜÜÜ ÜÜÜ GGG ???Erste Zeile im Textbereich ??? GGG ÜÜÜ ÜÜÜ GGGSchrift 12p, Zeilenabstand 14,4p GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ Satzspiegel Baber: Praktische Anwendbarkeit ... Höhe des Textbereichs = 24,100 cm = 683,16p = 47,44 Zeilen á 14,4p = 48,797 Zeilen á 14p ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG GGG ÜÜÜ ÜÜÜ GGG yyy ??? gggLetzte Zeile im Textbereich ggg ??? yyy GGG ÜÜÜ Geleitworte Die Qualität technischer Produkte muß gesichert und geprüft sein, bevor sie an einen Kunden ausgeliefert werden. Das gilt auch für Programme! Bei der Programmentwicklung fehlte lange Zeit ein Ansatz, diese Forderung zu erfüllen. Es wurde drauflos programmiert und geglaubt oder gehofft, daß kein Fehler vorliegt, der die Qualität mindert oder das Programm eigentlich unbrauchbar macht. In der Praxis ist es weitgehend immer noch so. Die in den letzten beiden Jahrzehnten gewonnenen wissenschaftlichen Erkenntnisse zur Qualitätssicherung beim Entwurf und der Implementierung sowie dann auch der stichhaltigen, nachvollziehbaren Überprüfung haben sich kaum bei Praktikern eingeführt; es sei zu mathematisch, zu aufwendig, zu schwierig waren (und sind) häufig gehörte Meinungsäußerungen von Programmierern, Software-Entwicklern und Projektverantwortlichen.
    [Show full text]
  • Fish Creek Voices
    FISH CREEK VOICES An Oral History of A Door County Village edited by FISH CREEK VOICES An Oral History of A Door County Village FISH CREEK VOICES An Oral History of A Door County Village edited by Wm CAXTON LTD Sister Bay, Wisconsin Published by Wm Caxton Ltd Box 709 - Smith Drive & Hwy 57 Sister Bay, WI 54234 (414) 854-2955 Copyright 1990 by Edward Schreiber. All rights reserved. No part of this book may be reproduced in any form or by any means without permission in writing from the publisher, except by a reviewer, who may quote brief passages in a review. Printed in the United States of America. 10 987654321 Library of Congress Cataloging-in-Publication Data Fish creek voices : oral an history of a Door County village / Edward & Lois Schreiber. p. cm. ISBN 0-940473-15-1 (alk. paper) : $20.00 - ISBN 0-940473-16-X (pbk. : alk. paper) $9.95 1. Fish Creek (Wis.)-Social life and customs. 2. Fish Creek (Wis.)-Biography. 3. Oral history. I. Schreiber, Edward, 1914- . II. Schreiber, Lois, 1910-1990 F589.F616F57 1990 977.5’63—dc20 90-38035 CIP ISBN# 0-940473-15-1 (hardcover) ISBN# 0-940473-16-X (paperback) This book is set in a version of Times Roman type chosen for its readability and attractiveness; it is printed on acid-neutral paper bound in sewn signatures and is intended to provide a very long useful life. This book is dedicated to the memory of my wife Lois Schreiber, who helped in many ways to organize the information and suggest the form of the material included here.
    [Show full text]
  • The Third Homomorphism Theorem on Trees Downward & Upward Lead to Divide-And-Conquer
    The Third Homomorphism Theorem on Trees Downward & Upward Lead to Divide-and-Conquer Akimasa Morihata Kiminori Matsuzaki Zhenjiang Hu Masato Takeichi University of Tokyo University of Tokyo National Institute of University of Tokyo JSPS Research Fellow Informatics [email protected] [email protected] [email protected] [email protected] Abstract 1. Introduction Parallel programs on lists have been intensively studied. It is What are little boys made of? well known that associativity provides a good characterization for Snips and snails, and puppy-dogs’ tails divide-and-conquer parallel programs. In particular, the third ho- That’s what little boys are made of! momorphism theorem is not only useful for systematic development What are little girls made of? of parallel programs on lists, but it is also suitable for automatic Sugar and spice and all things nice parallelization. The theorem states that if two sequential programs That’s what little girls are made of! iterate the same list leftward and rightward, respectively, and com- (an old nursery rhyme) pute the same value, then there exists a divide-and-conquer parallel program that computes the same value as the sequential programs. What are parallel programs on lists made of? Consider summing While there have been many studies on lists, few have been up the elements in a list [a1; a2; a3; a4; a5; a6; a7; a8] as an exam- done for characterizing and developing of parallel programs on ple. It is easy to derive sequential algorithms; both the rightward trees.
    [Show full text]
  • Trustees, Administration, Faculty
    Section Six Trustees, Administration, Faculty 628 Trustees, Administration, Faculty OFFICERS Peggy L. Cherng (2012) Co-Chairman Panda Restaurant Group David L. Lee, Chairman Robert B. Chess (2006) Ronald K. Linde, Vice Chairman Chairman Nektar Therapeutics Thomas F. Rosenbaum, President David Dreier (2013) Edward M. Stolper, Provost Lounette M. Dyer (1998) Joshua S. Friedman (2012) Matthew Brewer Co-founder, Co-Chairman and Controller Co-Chief Executive Officer Dean W. Currie Canyon Partners, LLC Vice President for Business and William T. Gross (1994) Finance Founder and Chief Executive Officer Charles Elachi Idealab Vice President and Director, Jet Narenda K. Gupta (2011) Propulsion Laboratory Co-Founder and Managing Director Diana Jergovic Nexus Venture Partners Vice President for Maria D. Hummer-Tuttle (2012) Strategic Implementation President Brian K. Lee Hummer Tuttle Foundation Vice President for Robert T. Jenkins (2005) Development and Institute G. Bradford Jones (2014) Relations Founding Partner Sharon E. Patterson Redpoint Ventures Associate Vice President for Peter D. Kaufman (2008) Finance and Treasurer Chairman and Chief Executive Officer Scott Richland Glenair, Inc. Chief Investment Officer Louise Kirkbride (1995) Joseph E. Shepherd Board Member Vice President for Student State of California Contractors Affairs State License Board Victoria D. Stratman Walter G. Kortschak (2012) General Counsel Senior Advisor and Former Managing Mary L. Webster Partner Secretary Summit Partners, L.P. Jon B. Kutler (2005) Chairman and Chief Executive Officer BOARD OF TRUSTEES Admiralty Partners, Inc. David Li Lee (2000) Trustees Managing General Partner (with date of first election) Clarity Partners, L.P. York Liao (1997) Sean Bailey (2015) Managing Director President Winbridge Company Ltd.
    [Show full text]