Program Changes and the Cost of Selective Recompilation

Total Page:16

File Type:pdf, Size:1020Kb

Program Changes and the Cost of Selective Recompilation Program Changes and the Cost of Selective Recompilation Ellen Ariel Borison July 1989 CMU-CS-89-205 Submitted to Carnegie Mellon University in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science Copyright © 1989 Ellen A. Borison This research was sponsored in part by a Xerox Special Opportunity Fellowship and in part by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 4976, Amend- ment 20, under contract number F33615-87-C-1499, monitored by the Avionics Laboratory, Air Force Wright Aeronautical Laboratories, Aeronautical Systems Division (AFSC), United States Air Force, Wright-Patterson AFB, Ohio 45433--6543. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of the Xerox Corporation, the Defense Advanced Research Projects Agency or the US Government. to the Lackowitz sisters: my mother, Rosaline (1922-1984) and her sisters, Hilda Goldstein (1922-19"76) and Silvia Grossman and to my father, Herbert Abstract When module boundaries are dissolved, a program can be seen simply as a collection of named objects (procedures, types, variables, etc.) that reference one another. Program designers impose order on such collections by grouping somehow-related names into modules. Informed by over twenty years of software engineering wisdom, we trust that modularization makes programs easier to control, maintain, and understand. However, not all of the effects of modularity are beneficial. This research suggests that most of the recompilations performed after a change to an interface are redundant and that this redundancy is a direct consequence of how we modularize software systems. This conclusion is based on the careful analysis of a small number of C and Ada pro- grams. This analysis in turn is based on a model of software manufacture that specifically addresses the question of how much work has to be done to incorporate a given set of changes consistently into a given software product. In each program analyzed, the average name defined in an interface is used in 2 or 3 compilation units; the average interface is used in 7 to 25 units. Thus if a program- mer were to change a single name chosen at random from an arbitrary interface and then, like the UNIX tool make, compile every compilation unit using that interface, we would expect between 6 and 9 out of every 10 compilations to be unnecessary. This phenomenon extends to the purposeful changes made during program development. For historic changes made to one program, fewer than half the compilations performed after an interface change were actually necessary, even though the data was treated conservatively both by grouping changes and by eliminating spurious interconnections. This work corroborates practical experience as well as observations made by other re- searchers, solidly tying together a collection of disparate evidence into a coherent picture of software manufacture. It validates the approach taken by some programming envi- ronments to use an underlying fiat (i.e. non-modular) representation of program objects and, to the extent that recompilation costs reflect general program complexity, leads us to question some basic assumptions about modularization. vi Acknowledgements I would not have completed this work without the support and enthusiasm of my thesis advisor, Jim Morris. The case studies of Chapters 3 and 4 reflect his talent for gently directing my attention to fruitful problems. The other members of my thesis comrrfit- tee, Bob Ellison, Joe Newcomer, Gene Rollins and Dave Wortman, provided useful and timely feedback as each stage of the work progressed. Joe Newcomer, especially, always displayed confidence in my approach to software manufacture. My long-time officemates Paola Giannini and Roberto Minio, and frequent luncheon companion Pedro Szekely, among many others, made CMU an enjoyable place to work. I am deeply indebted to Phil Levy of Rational, Inc. for writing the necessary code and collecting the raw data on the Ada programs that I used in the case studies of Chapter 4. Phil was completing his own thesis at the time. John Nestor and Reidar Conradi each read a preliminary draft of the thesis and made comments that have clarified its presentation. Reidar pointed out the relationship between my name use and visibility studies and observations on the "big inhale" made by his group and by Ragui Kamel and colleagues at Bell Northern Research. John has been a sometimes reluctant sounding board for as-of-yet poorly formulated ideas. My brother, Adam, reviewed the assumptions on which I based the analysis in Chapter 4. Several people helped me with the mechanics of the research. I want to specifically thank Susan Straub of the CMU Information Technology Center, and Grace Downey and Susan Dart of the Environments Group at the CMU Software Engineering Institute. Susan Straub helped me ship a copy of the code for Vice to a computer where I could analyze it. Grace Downey showed me the interactive cross-reference capabilities of the Rational Environment and helped me a get a copy of the code for the Rational Kermit program. Susan Dart not only helped me find reference material, but also annotated a copy of her report analyzing the Rational Environment so that I could easily find the material most relevant to my needs. I also want to thank Joe Newcomer for the extended loan of a Macintosh for figure production. Finally, I want to thank my father, an accomplished scientist, who taught me by his example the meaning of research. vii viii Contents 1 Introduction 1 1.1 The Consequences of Modularization ................... 3 1.2 The Thesis ................................. 4 1.2.1 The Model ............................. 5 1.2.2 An Analysis of Compilation Costs ................ 5 1.2.3 Name Use versus Name Visibility ................. 6 1.2.4 Conclusions and Recommendations ................ 8 1.3 Background ................................ 9 1.3.1 Examples of Problems in Software Manufacture ......... 10 1.3.2 Software Manufacture ....................... 13 1.3.3 Related Activities ......................... 16 1.4 Directly Related Work ........................... 18 1.4.1 Software Manufacturing Systems ................. 18 1.4.2 Selective Recompilation ...................... 23 1.4.3 A Profile of Compiling and Linking ............... 30 2 The Model 33 2.1 Pitfalls of Software Manufacture ..................... 35 2.2 The Representation of a Software Configuration ............. 37 2.2.1 Components ............................ 38 2.2.2 Manufacturing Steps and Step Schemas .............. 39 2.2.3 Manufacturing Graphs and Graph Schemas ............ 41 2.2.4 Encapsulated Subgraphs ...................... 43 2.3 Examples of Manufacturing Graph Schemas ............... 44 2.3.1 Conventional Compilation Strategies for C and Ada ....... 45 2.3.2 C Compilation in the SMILE Programming Environment .... 51 2.3.3 Generating the Tartan Lexical Analyzer Subsystem ........ 53 2.3.4 Bootstrapping the Mini IDL Tools ................ 54 ix x CONTENTS 2.4 The Instantiation of a Software Configuration ............... 57 2.4.1 Change, Context and the Incidence of Redundant Manufacture.. 57 2.4.2 What it Means for Two Products to be Effectively Indistinguishable 60 2.4.3 Difference Predicates ....................... 61 2.5 The Cost of Selective Manufacture .................... 65 3 An Analysis of Compilation Costs 67 3.1 An Overview of the Study ......................... 69 3.2 The Seven Difference Predicates ..................... 73 3.3 The Descartes Project ........................... 80 3.3.1 Why Descartes? .......................... 80 3.3.2 Descartes Programming Conventions ............... 81 3.3.3 The Descartes Change History .................. 81 3.4 The Method ................................ 83 3.4.1 From Change History to Configurations .............. 83 3.4.2 Measuring Compilation Costs ................... 86 3.4.3 The Data Collected ........................ 86 3.5 The Results of the Study ......................... 88 3.5.1 The Effect of Superfluously Included .h Files ........... 94 3.5.2 The Relali_nship Between the Predicates ............. 95 3.5.3 The Size of Compiled Files ..................... 97 3.6 Discussion ................................. 97 4 The Distribution of Names in Interfaces 101 4.1 The Ratio of Use to Visibility ....................... 103 4.1.1 Computing Use/Visibility Numbers for C ............. 105 4.1.2 Computing Use/Visibility Numbers for Ada ............ 106 4.1.3 The RUV versus the Big Inhale .................. 109 4.1.4 Partial RUV's ........................... 110 4.2 The Six Program Study .......................... 110 4.2.1 The Programs ........................... 112 4.2.2 The Data in Table 4.1 ....................... 113 4.2.3 The Effect of Compensating for Language Differences on the Con- crete RUV ............................. 115 4.2.4 The Unit RUV versus the Partial RUVs of the Big Inhale .... 118 4.3 Patterns of Use and Visibility ....................... 118 4.3.1 l ne Effect of Modularity in Descartes .............. 121 CONTENTS xi 4.4 The RUV versus Predicate Performance .................. 122 4.4.1 The Distribution of Name Changes in the Descartes History . 123 4.4.2 The Effect of Grouping Name Changes in the Descartes History. 124 4.5 Summary .................................. 130 5 Recommendations and Conclusion 133 5.1 Recommendations ............................
Recommended publications
  • Featuring Independent Software Vendors
    Software Series 32000 Catalog Featuring Independent Software Vendors Software Series 32000 Catalog Featuring Independent Software Vendors .. - .. a National Semiconductor Corporation GENIX, Series 32000, ISE, SYS32, 32016 and 32032 are trademarks of National Semiconductor Corp. IBM is a trademark of International Business Machines Corp. VAX 11/730, 750, 780, PDP-II Series, LSl-11 Series, RSX-11 M, RSX-11 M PLUS, DEC PRO, MICRO VAX, VMS, and RSTS are trademarks of Digital Equipment Corp. 8080, 8086, 8088, and 80186 are trademarks of Intel Corp. Z80, Z80A, Z8000, and Z80000 are trademarks of Zilog Corp. UNIX is a trademark of AT&T Bell Laboratories. MS-DOS, XENIX, and XENIX-32 are trademarks of Microsoft Corp. NOVA, ECLIPSE, and AoS are trademarks of Data General Corp. CP/M 2.2, CP/M-80, CP/M-86 are registered trademarks of Digital Research, Inc. Concurrent DOS is a trademark of Digital Research, Inc. PRIMOS is a trademark of Prime Computer Corp. UNITY is a trademark of Human Computing Resources Corp. Introduction Welcome to the exciting world of As a result, the Independent software products for National's Software Vendor (ISV) can provide advanced 32-bit Microprocessor solutions to customer software family, Series 32000. We have problems by offering the same recently renamed our 32-bit software package independent of microprocessor products from the the particular Series 32000 CPU. NS16000 family to Series 32000. This software catalog was This program was effective created to organize, maintain, and immediately following the signing disseminate Series 32000 software of Texas Instruments, Inc. as our information. It includes the software second source for the Series vendor, contact information, and 32000.
    [Show full text]
  • Automatically Achieving Elasticity in the Implementation of Programming Languages Michael Lee Horowitz
    Automatically Achieving Elasticity in the Implementation of Programming Languages Michael Lee Horowitz January 1988 CMU-CS-88- I04 Submitted to CarnegieMellon Universityin partial fulf'dlment of the requirements for the degree of Doctor of Philosophy in Computer Science. Department of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Copyright © 1988 Michael Lee Horowitz. All fights reserved. This research was sponsored by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 4976 under contract F33615-87-C-1499 and monitored by the: Avionics Laboratory Air Force Wright Aeronautical Laboratories Aeronautical Systems Division (AFSC) Wright-Patterson AFB, OHIO 45433-6543 The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the Defense Advanced Research Projects Agency or the US Government. Abstract Several developments in programming language design and software engineering lead to a re- examination of the role of binding times in programming language implementation. We can alleviate problems associated with these developments by using event-driven processing to determine translation binding times. Our ultimate goal is to clarify the effects of different designs on binding times and to reduce binding time concerns in the language design process. Determining the binding time of a translation action involves two concerns: the ordering of the action's execution relative to other actions and the translation phase in which the execution occurs (e.g. compile- time, link-time, or run-time). Some issues that affect these concerns include: how to handle forward references, language designs that require dynamic interpretation, the role of link-time in languages that allow separate compilation, and how to achieve elasticity.
    [Show full text]
  • IDL (Interface Description Language). Background and Status
    !-MOO 922 IDL (INTERFRCE DESCRIPTION LANGUAGE) BACKGROUND AM IVA STATUS(U) CARNEGIE-NELLON UNIV PITTSBURGH PA SOFTINE ENGINEERING INST.. D L STONE ET AL. DEC 87 UNCLRSSIFIEDleaeeaaaaaaEI CNAAI-97-TR-47 ESD-TR-07-219 F/G 12/5 NL 11111w11l I~~hI~r MSe 11111 2115 W_ *EI5E 1*4 TechnicalCMU/SEI-87-TR.-47 Report i' ESO-TR-87-210 %. Carneg ie-Melon Universt, .ri Software Engineering Institute 4\4 'F 1P IDL: Background and Status I, Donald L. Stone John R. Nestor N December 1987 t"IC N, FESLECTE 0 a s-W COII D tMUIN STAMWE ,fOr Publi ___ %- .- * 58 01 113 Ire. - -'. Technical Report CMU/SEI-87-TR-47 ESD-TR-87-210 December 1987 IDL: Background and Status Donald L. Stone John Nestor Accesion For NTIS CRA&I ' DTIC TAB " Unanno,;: ced 0 Justif,catcn . By ....... .......... Di~t ," Approed for public release. Distribution unlimited. Software Engineering institute Carnegie Mellon University Pittsburgh, Pennsylvania 15213 This technical report was prepared for the SEt Joint Program Office ESD/XRS Hanscom AFB. MA 01731 The ideas and findings in this report should not be construed as an off icial DoD position. It is published inthe Interest of scientific and technical information exchange. Review and Approval This report has been reviewed and is approved for publication. FOR THE COMMANDER Karl Shinglerr SEl Joint Program Office ,J This work was sponsored by the U.S. Department of Defense. This document is avafthls through 1he Defense Tchnical Information Cente. DTIC provides access io and transfer of scientific and lischnical information for DoD personinel.
    [Show full text]
  • Register Reassociation in PA-RISC Compilers, by Vatsa Santhanam
    H E W L E T-PA C K A R D JOURNAL June 1992 N/sc HEWLETT PACKARD © Copr. 1949-1998 Hewlett-Packard Co. HEWLETT-PACKARD JOURNAL June 1992 Volume 43 • Number 3 Articles ¡ HP-UX Karen System Kernel Support for the HP 9000 Series 700 Workstations, by Karen Kerschen and Jeffrey R. G/asson I An Example of the FTEST Instruction Providing HP-UX Kernel Functionality on a New PA-RISC Architecture, by Donald E. Bollinger, Frank P. Lemmon, and Dawn L. Yamine ^ New Optimizations for PA-RISC Compilers, by Robert C. Hansen // Link-Time Optimizations 7 A HP 9000 Series 700 FORTRAN Optimizing Preprocessor, by Roben A. Gottlieb, DanielJ. Magenheimer, Sue A. Meloy, and Alan C. Meyer Vector Library Q Q Register Reassociation in PA-RISC Compilers, by Vatsa Santhanam ^< Q Software Pipelining in PA-RISC Compilers, by Sridhar Ramakrishnan At ¡ Shared Libraries for HP-UX, by CaryA. Coutant and Michelle A. Ruscetta Deferred Binding, Relocation, and Initialization of Shared Library Data Editor, Richard R Dolan • Associate Editor, Charles L Leath • Publication Production Manager, Susan E. Wright • Illustration, Renée D. Pighini Typography/Layout, Rita C Smith • Test and Measurement Organization Liaison. J Michael Gospe Advisory Harry William W. Brown, Integrated Circuit Business Division, Santa Clara. California • Harry Chou, Microwave Technology Division, Santa Rosa, California • Rajesh Gordon. Waltham, Systems Division, Cupertino, California Gary Gordon. HP Laboratories, Palo Alto. California* Jim Grady, Waltham Division. Waltham, Massachusetts • Man J. Marline, Systems Technology Division. Roseville, California • Roger L Jungerman, Microwave Technology Division.
    [Show full text]
  • Curriculum Vitae
    Curriculum Vitae Bhubaneswar Mishra Professor of Computer Science, Mathematics, and Cell Biology September 29, 2011 715 Broadway, Room 1001 NYU School of Medicine Courant Institute of Mathematical Sciences 550 First Avenue New York, N.Y. 10012. New York, N.Y. 10016. Tel: (212) 998-3464 Tel: (212) 263-7300 Fax: (212) 998-3484 E-mail: [email protected] URL: http://cs.nyu.edu/mishra 16 Dunster Road, Great Neck, NY 11021 • Tel: (516) 487-7477 Personal Date of Birth 5th of May, 1958 Marital Status Married to Jane Mishra, January 22, 1989. Sons: Samuel Andrew Mishra, December 10, 1990, and Thomas Oliver Mishra, May 13, 1993. Daughter: Kimberly Indira Mishra, September 23, 1998. Nationality Indian National & American Citizen Scholastic Record 1985 Ph.D. Carnegie-Mellon University, (Computer Science) Some Graph Theoretic Issues in VLSI Design, Thesis Committee: Prof. E.M. Clarke (advisor), Profs. R. Kannan, R. Statman and R.E. Tarjan. 1982 M.S. Carnegie-Mellon University, (Computer Science) Area Committee: Prof. E.M. Clarke (advisor), Profs. D. Siewiorek and Wm. A. Wulf . 1980 B.Tech.(Hons.) Indian Institute of Technology, Kharagpur, India, (Electronics and Electrical Communication Engg.) Advisor: Prof. S.C. DeSarkar. 1975 I.Sc.(Hons.) Utkal University, Bhubaneswar, India. 1 Employment Sept. 2004–present Professor of Cell Biology. School of Medicine, New York University. Apr. 1999–present Professor of Computer Science and Mathematics. Courant Institute of Mathematical Sciences, New York University. Sept. 2001–Aug. 2004 Professor. Cold Spring Harbor Laboratory. Jan. 2001–Aug. 2004 Co-director. Center for Comparative Functional Genomics, New York University. Jan. 1995–Mar.
    [Show full text]
  • Thursday Sessions
    Thursday Sessions Thursday Matrix Placeholder Proceedings IEEE Catalog Number: 03CH37487/$17.00 November 5 - 8, 2003, Boulder, Colorado 33rd ASEE/IEEE Frontiers in Education Conference 57 Thursday Sessions Thursday Matrix Backpage Proceedings IEEE Catalog Number: 03CH37487/$17.00 November 5 - 8, 2003, Boulder, Colorado 33rd ASEE/IEEE Frontiers in Education Conference 58 Thursday Sessions Session T1A: Keynote - "Engineering as a Human Endeavor", William Wulf Chair: Melinda Piket-May and James Avery, University of Colorado at Boulder Time and place: Thursday, 8:30 am - 9:30 am Westminster 3 & 4 KEYNOTE - ENGINEERING AS A HUMAN ENDEAVOR William Wulf, National Academy of Engineering William Wulf is president of the National Academy of Engineering and vice chair of the National Research Council, the principal operating arm of the National Academies of Sciences and Engineering. He is on leave from the University of Virginia-Charlottesville, where he is the AT&T professor of engineering and applied sciences. At the university he is involved in a complete revision of the undergraduate computer science curriculum, research on computer architecture and computer security, and helping humanities scholars exploit information technology.Dr. Wulf has had a distinguished pro- fessional career that includes serving as assistant director of the National Science Foundation; chair and chief executive officer of Tartan Laboratories, Inc., in Pittsburgh, Pennsylvania; and professor of computer science at Carnegie Mellon University, also in Pittsburgh. He is the author of more than 80 papers and technical reports, has written three books, and holds one U.S. patent. Session T2A: Successful Students Chair: Elizabeth A. Eschenbach, Humboldt State University Time and place: Thursday, 10:00 am - 11:45 am Cotton Creek I THE STUDY STRATEGIES OF ACADEMICALLY SUCCESSFUL STUDENTS AT THE COLORADO SCHOOL OF MINES Ruth A.
    [Show full text]
  • Curriculum Vitae Personal Scholastic Record
    Curriculum Vitae Bhubaneswar Mishra Professor of Computer Science, Engineering, Mathematics, and Cell Biology June 7, 2021 251 Mercer Street, Room 405 NYU School of Medicine Courant Institute of Mathematical Sciences 550 First Avenue New York, N.Y. 10012. New York, N.Y. 10016. Tel: (212) 998-3464 Tel: (212) 263-7300 E-mail: [email protected] URL: http://cs.nyu.edu/mishra 16 Dunster Road, Great Neck, NY 11021 • Tel: (516) 487-7477 Personal Nationality Indian National & American Citizen Scholastic Record 1985 Ph.D. Carnegie-Mellon University, (Computer Science) Some Graph Theoretic Issues in VLSI Design, Thesis Committee: Prof. E.M. Clarke (advisor), Profs. R. Kannan, R. Statman and R.E. Tarjan. 1982 M.S. Carnegie-Mellon University, (Computer Science) Area Committee: Prof. E.M. Clarke (advisor), Profs. D. Siewiorek and Wm. A. Wulf . 1980 B.Tech.(Hons.) Indian Institute of Technology, Kharagpur, India, (Electronics and Electrical Communication Engg.) Advisor: Prof. S.C. DeSarkar. 1975 I.Sc.(Hons.) Utkal University, Bhubaneswar, India. 1 Honors and Achievements Acedemy Members/Fellows (December 2017:) National Academy of Inventors Fellow. Society Fellows (December 2010:) AAAS Fellow. (For contributions to engineering sciences.) (January 2009:) IEEE Fellow. (For contributions to mathematical models of robotic grasping.) (June 2008:) ACM Fellow. (For contributions to symbolic computation and computational biology.) Distinguished Professor, Scientist, Alumnus, etc. (May 2011:) Distinguished Alumnus Award (2011), Indian Institute of Technology (Kharagpur), India. (January 2009:) Invited Guest, Kavli Future Symposium: Envisioning the Extreme Machine, Muelle, Costa Rica. (January 2003) NYSTAR Distinguished Professor of 2001 , New York State Office of Science, Tech- nology & Academic Research, Albany, NY.
    [Show full text]
  • An Interview With
    An Interview with WILLIAM A. WULF OH 477 Conducted by Jeffrey R. Yost on 23 June 2015 Computer Security History Project Charlottesville, Virginia Charles Babbage Institute Center for the History of Information Technology University of Minnesota, Minneapolis Copyright, Charles Babbage Institute William A. Wulf Interview 23 June 2015 Oral History 477 Abstract Computer security pioneer and past President of the National Academy of Engineering William Wulf briefly recounts his childhood, early education, and developing research interests before addressing how he came to develop a strong interest in computing and completed a doctorate (the first computer scientist doctorate) at the University of Virginia under one of the department’s founders (and the sole founder of the computer center) Alan Batson. The bulk of the interview is on his years as a faculty member in computer science at Carnegie Mellon University and the University of Virginia, and his founding and leadership of start-up Tartan Laboratories, and his service in directing NSF’s CISE and as President of the National Academy of Engineering. Among the topics discussed are BLISS, C.mmp, HYDRA, key meeting with Al Gore on the Internet, teaching, and the digital humanities. Professor Anita K. Jones also participates in the interview. This material is based upon work supported by the National Science Foundation under Grant No. 1116862, “Building an Infrastructure for Computer Security History.” 2 Yost: My name is Jeffrey Yost from the Charles Babbage Institute at the University of Minnesota, and I’m here today on Tuesday, June 23, 2015 in Charlottesville, Virginia, at the home of William Wulf and Anita Jones.
    [Show full text]
  • 14.2 Intermediate Forms
    Building a Runnable14 Program 14.2 Intermediate Forms In this section we consider three widely used intermediate forms: Diana, GIMPLE, and RTL. Two additional examples, Java byte code and the Common Intermediate Language (CIL) can be found in Chapter 15. Diana (Descriptive Intermediate Attributed Notation for Ada) is an Ada- specific, high-level tree-based IF developed cooperatively by researchers at the University of Karlsruhe in Germany, Carnegie Mellon University, Intermetrics, Softech, and Tartan Laboratories. It incorporates features from two earlier efforts, named TCOL and AIDA. GIMPLE and RTL are the intermediate languages of the GNU compiler col- lection (gcc). RTL (Register Transfer Language) is the older of the two. It is a medium-level pseudo-assembly language,and was the basis of almost all language- independent code improvement in gcc prior to the introduction of GIMPLE in 2005. GIMPLE, like Diana, is a tree-based form, but not quite as abstract. As of gcc v.4, there are approximately 100 code improvement phases based on GIMPLE, and about 70 based on RTL. 14.2.1 Diana Diana is very complex (the documentation is 200 pages long), but highly regular, and we can at least give the flavor of it here. It is formally described using a preexisting notation called IDL [SS89], which stands for Interface Description Language.1 IDL is widely used to describe abstract data types in a machine- and implementation-independent way. Using IDL-based tools, one can automatically construct routines to translate concrete instances of an abstract data type to and 1 Unfortunately, the term “IDL” is used both for the general category of interface description languages (of which there are many) and the specific Interface Description Language used by Diana.
    [Show full text]
  • Department of Computer Science School of Engineering and Applied Science University of Virginia
    Department of Computer Science School of Engineering and Applied Science University of Virginia [email protected] Department of Computer Science School of Engineering and Applied Science University of Virginia 151 Engineers Way P.O. Box 400740 Charlottesville, Virginia 22904-4740 Phone: (804) 982-2200 Fax: (804) 982-2214 www.cs.virginia.edu This brochure was created by Professor Gabriel Robins and the Computer Science Web Team and is available on the Web at www.cs.virginia.edu/brochure DEPARTMENT OF COMPUTER SCIENCE - UNIVERSITY OF VIRGINIA 1 ABOUT THE DEPARTMENT OF COMPUTER SCIENCE The UVa Department of Computer Science is one of the top departments in experimental systems, its main research thrust, and a nationally-recognized leader in undergraduate CS education. Since becoming an independent department in 1984, we have grown to 27 faculty, 15 professional support staff, 73 graduate students and 320 undergraduates. Federal research support has exceeded six million dollars annually, and past support includes a prestigious National Science Foundation Institutional Infrastructure Award, a five million dollar grant which has greatly enhanced our research capabilities. Our faculty have garnered an impressive roster of awards and peer recognition: two are members of the National Academy of Engineering and one is NAE President; one is a Fellow of the American Academy of Arts and Sciences; one holds a National Science Foundation Young Investigator award; one holds a Packard Foundation Fellowship; four are Fellows of the IEEE; three are ACM Fellows; three hold NSF Career Awards; two are presidents of IEEE societies and another is past Chair of an ACM Special Interest Group; two are University Teaching Fellows; one received an All-University Outstanding Teaching Award; one received a Faculty Mentor Award; four hold endowed chairs or University Professorships, and many are editors or editors-in-Chief of major professional journals.
    [Show full text]
  • Downloaded to a Number of Different Target Machines
    Technical Report CMU/SEI-90-TR-7 ESD-90-TR-208 Hartstone Benchmark Results and Analysis Patrick Donohoe Ruth Shapiro Nelson Weiderman June 1990 Technical Report CMU/SEI-90-TR-7 ESD-90-TR-208 June 1990 Hartstone Benchmark Results and Analysis Patrick Donohoe Ruth Shapiro Nelson Weiderman Real-Time Embedded Systems Testbed Project Unlimited distribution subject to the copyright. Software Engineering Institute Carnegie Mellon University Pittsburgh, Pennsylvania 15213 This report was prepared for the SEI Joint Program Office HQ ESC/AXS 5 Eglin Street Hanscom AFB, MA 01731-2116 The ideas and findings in this report should not be construed as an official DoD position. It is published in the interest of scientific and technical information exchange. FOR THE COMMANDER (signature on file) Thomas R. Miller, Lt Col, USAF, SEI Joint Program Office This work is sponsored by the U.S. Department of Defense. Copyright 1990 by Carnegie Mellon University. Permission to reproduce this document and to prepare derivative works from this document for internal use is granted, provided the copyright and \‘No Warranty\’ statements are included with all reproductions and derivative works. Requests for permission to reproduce this document or to prepare derivative works of this document for external and commercial use should be addressed to the SEI Licensing Agent. NO WARRANTY THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN \‘AS-IS\’ BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTIBILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL.
    [Show full text]