Improving the Dependability of Distributed Systems Through AIR Software Upgrades

Total Page:16

File Type:pdf, Size:1020Kb

Improving the Dependability of Distributed Systems Through AIR Software Upgrades Carnegie Mellon University CARNEGIE INSTITUTE OF TECHNOLOGY THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF Doctor of Philosophy TITLE Improving the Dependability of Distributed Systems through AIR Software Upgrades PRESENTED BY Tudor A. Dumitra! ACCEPTED BY THE DEPARTMENT OF Electrical & Computer Engineering ____________________________________________ ________________________ ADVISOR, MAJOR PROFESSOR DATE ____________________________________________ ________________________ DEPARTMENT HEAD DATE APPROVED BY THE COLLEGE COUNCIL ____________________________________________ ________________________ DEAN DATE Improving the Dependability of Distributed Systems through AIR Software Upgrades Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Electrical & Computer Engineering Tudor A. Dumitra! B.S., Computer Science, “Politehnica” University, Bucharest, Romania Diplôme d’Ingénieur, Ecole Polytechnique, Paris, France M.S., Electrical & Computer Engineering, Carnegie Mellon University Carnegie Mellon University Pittsburgh, PA December, 2010 To my parents and my teachers, who showed me the way. To my friends, who gave me a place to stand on. Pentru Tanti Lola. Abstract Traditional fault-tolerance mechanisms concentrate almost entirely on responding to, avoiding, or tolerating unexpected faults or security violations. However, scheduled events, such as software upgrades, account for most of the system unavailability and often introduce data corruption or latent errors. Through two empirical studies, this dissertation identifies the leading causes of upgrade failurebreaking hidden dependenciesand of planned down- timecomplex data conversionsin distributed enterprise systems. These findings repre- sent the foundation of a new benchmark for software-upgrade dependability. This dissertation further introduces the AIR propertiesAtomicity, Isolation and Runtime-testingrequired for improving the dependability of distributed systems that undergo major software upgrades. The AIR properties are realized in Imago, a system de- signed to reduce both planned and unplanned downtime by upgrading distributed systems end-to-end. Imago builds upon the idea of isolating the production system from the up- grade operations, in order to avoid breaking hidden dependencies and to decouple the data conversions from the normal system operation. Imago includes novel mechanisms, such as providing a parallel universe for the new version, performing data conversions oppor- tunistically, intercepting the live workload at the ingress and egress points or executing an atomic switchover to the new version, which allow it to deliver the AIR properties. Imago harnesses opportunities provided by the emerging cloud-computing technolo- gies, by trading resource overhead (needed by the parallel universe) for an improved de- pendability of the software upgrades. This approach separates the functional aspects of the upgrade from the mechanisms for online upgrade, enabling an upgrade-as-a-service model. This dissertation also describes techniques for assessing the impact of software upgrades, in order to reason about the implications of relaxing the AIR guarantees. iv This is for the one that I ate, 32 years ago. Acknowledgments Since I started to learn about Computer Science, I have been fascinated by our ability to write computer programs that can protect themselves from various adverse conditions in their environments. I equally enjoy building dependable systems firsthand and studying empirically the behavior of systems large and small. This is the result of my interactions with a few great mentors, who helped me discover the secrets of Computer Science and who showed me the ways of scientific research. At age 13, I received a great gift from my uncle, Florin Covaciu. It was an HC-85 com- puter, a Romanian replica of the Sinclair ZX Spectrum (one of the world’s first personal computers). I learned to program on this machine, and, since then, I was not able to stay away from programming for too long. This path took me to the Computer-Science High School in Bucharest (Liceul de Informatica˘, now Colegiul Nat, ional Tudor Vianu), where teach- ers Mihai Budiu and Raluca Vasilescu opened my eyes to many computing concepts and to their power to transform human society. These teachers shared their great knowledge and passion for computing, and this inspired me to continue my studies in this field. I was not too surprised when I met Mihai and Raluca again, years later, in the graduate program at Carnegie Mellon University. Among my professors at the “Politehnica” University in Bucharest were Mircea Pe- trescu, who had supervised my father’s Honors thesis (diploma de licent, a˘) twenty-five years previously, Adrian Petrescu and Francisc Iacob, the creators of the HC-85, and Nicolae T, apus˘ , , who supervised my own Honors thesis on Argo, a search engine with a distributed Web crawler. Most of all, I am grateful to Zoea Racovit, a˘ for encouraging me to continue my graduate studies and to apply to the Ph.D. program at Carnegie Mellon University. My education at the Ecole Polytechnique in Paris taught me to be responsible, confi- dent, determined and to keep my commitments. I have to thank Jean-Marc Steyaert for guiding me through those years. Atom, a final-year project supervised by Sam Toueg, fo- v ACKNOWLEDGMENTS vi cused on implementing a practical group-communication system based on unreliable fail- ure detectors (an exclusively theoretical technique, at the time) and seeded my curiosity about distributed systems. When I arrived at Carnegie Mellon, Radu Marculescu˘ taught me the paramount im- portance of originality in all academic endeavors and the value of anticipating future tech- nology trends for systems-oriented research. Our first paper together, which identified the need for system-level fault tolerance in the emerging networks-on-chip (NoC) and reeval- uated fundamental trade-offs made by classical networking protocols, remains my most cited publication. Phil Koopman taught me everything I know about dependability, and he always gave me good advice throughout my graduate studies. Many people contributed to the approach described in this dissertation. The members of my thesis committee, Greg Ganger, Bruce Maggs and Asit Dan, encouraged me to pursue the topic of online software upgrades and provided invaluable feedback in all the stages of this research. Dan Siewiorek taught me how to create a rigorous taxonomy. Jiaqi Tan and Zhengheng Gho helped me design some of the core algorithms of Imago. At my request, Lorenzo Keller wrote a user manual for ConfErr, his fault-injection tool for mutating con- figuration files. A dinner-time discussion with Eli Tilevich turned into a publication about the risks of software upgrades across multiple administrative domains. Douglas Schmidt showed me how to present my research in an effective way. Jean-Charles Fabre has always been a great mentor and a true friend. Je n’oublierai jamais que je dois mon premier emploi à ton soutien sans réserve, Jean-Charles. Daniela Ros, u, Bich Le and Alan Downingmy internship supervisors at IBM Research, VMware and Oracle, respectivelyprovided me with a wealth of information about the practical challenges of performing software upgrades. My approach also incorporates ex- tensive feedback from the industry members of the Parallel Data Lab consortium. During my dissertation research, I received financial support from the NSF CAREER Award CCR- 0238381, the DARPA PCES contract F33615-03-C-4110, as well as Carnegie Mellon’s CyLab and Parallel Data Lab. While not directly involved in this research, my collaborators Danny Dig and Iulian Neamtiu helped me establish the series of workshops on Hot Topics in Software Upgrades (HotSWUp). The first two editions of the workshop provided a venue for insightful discus- sions about how upgrades are performed at various levelsin the front-end of cloud com- ACKNOWLEDGMENTS vii puting infrastructures, in EJB-based enterprise applications, in databases, in long-running servers, in middleware frameworks or in satellites orbiting the Earth. Most importantly, HotSWUp emphasized that the challenge of upgrading distributed systems end-to-end calls for an inter-disciplinary approach, combining ideas and techniques from several areas of Computer Science. Above all, I would like to thank my dissertation advisor, Prof. Priya Narasimhan, for all her guidance. She taught me the secrets of fault-tolerant middleware, and she showed me how to enhance legacy applications with replication and recovery mechanisms by transpar- ently intercepting the application’s system calls. She shared with me her great gift for writ- ing and presenting technical material, she taught me the scientific method and she showed me how to ask the questions that matter. She passed down the teachings of Gottfried Wil- helm Leibniz, our academic ancestor, about how to turn an abundance of experimental data into rigorous scientific findings. She also passed down her aversion of adjectives and hyperbolae. She transformed a student into a researcher. Outside of Computer Science, my good friendstoo many to list herehave always been a source of inspiration and vitality. My aunt, S, tefania Dumitras, , taught me about the prac- tical things in life, and she also taught me French. My cousin, Ioana Caprar,˘ has been close as a sister. My parents, Dan Dumitras, and Monica Dumitras, , are my ultimate role models. Working at the Institute of Atomic Physics (where the
Recommended publications
  • Acm's Fy14 Annual Report
    acm’s annual report for FY14 DOI:10.1145/2691599 ACM Council PRESIDENT ACM’s FY14 Vinton G. Cerf VICE PRESIDENT Annual Report Alexander L. Wolf SECRETAry/TREASURER As I write this letter, ACM has just issued Vicki L. Hanson a landmark announcement revealing the PAST PRESIDENT monetary level for the ACM A.M. Turing Alain Chesnais Award will be raised this year to $1 million, SIG GOVERNING BOARD CHAIR Erik Altman with all funding provided by Google puter science and mathematics. I was PUBLICATIONS BOARD Inc. The news made the global rounds honored to be a participant in this CO-CHAIRS in record time, bringing worldwide inaugural event; I found it an inspi- Jack Davidson visibility to the award and the Associa- rational gathering of innovators and Joseph A. Konstan tion. Long recognized as the equiva- understudies who will be the next MEMBERS-AT-LARGE lent to the Nobel Prize for computer award recipients. Eric Allman science, ACM’s Turing Award now This year also marked the publica- Ricardo Baeza-Yates carries the financial clout to stand on tion of highly anticipated ACM-IEEE- Cherri Pancake the same playing field with the most CS collaboration Computer Science Radia Perlman esteemed scientific and cultural prizes Curricula 2013 and the acclaimed Re- Mary Lou Soffa honoring game changers whose con- booting the Pathway to Success: Prepar- Eugene Spafford tributions have transformed the world. ing Students for Computer Workforce Salil Vadhan This really is an extraordinary time Needs in the United States, an exhaus- SGB COUNCIL to be part of the world’s largest educa- tive report from ACM’s Education REPRESENTATIVES tional and scientific society in comput- Policy Committee that focused on IT Brent Hailpern ing.
    [Show full text]
  • Software Technical Report
    A Technical History of the SEI Larry Druffel January 2017 SPECIAL REPORT CMU/SEI-2016-SR-027 SEI Director’s Office Distribution Statement A: Approved for Public Release; Distribution is Unlimited http://www.sei.cmu.edu Copyright 2016 Carnegie Mellon University This material is based upon work funded and supported by the Department of Defense under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineer- ing Institute, a federally funded research and development center. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the United States Department of Defense. References herein to any specific commercial product, process, or service by trade name, trade mark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by Carnegie Mellon University or its Software Engineering Institute. This report was prepared for the SEI Administrative Agent AFLCMC/PZM 20 Schilling Circle, Bldg 1305, 3rd floor Hanscom AFB, MA 01731-2125 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 MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. [Distribution Statement A] This material has been approved for public release and unlimited distribu- tion.
    [Show full text]
  • Logview Studio Linux Preparation with Mono
    LogView Studio Linux Preparation with Mono 2014 by Dominik Schmidt [email protected] © 2014 Dominik Schmidt / Holger Hemmecke I LogView Studio Table of Contents Part I Linux Prepare 1 1 SSH Co..n..n..e..c..t. ........................................................................................................................ 1 2 Raspbe..r.r.y.. .P..i. ......................................................................................................................... 4 System Prepar..a..t.i.o...n.. ............................................................................................................................................... 5 Mono .......................................................................................................................................................... 6 Install Mono......................................................................................................................................................... 7 Compile Mon..o.. .f.r..o..m.. .T..A...R....................................................................................................................................... 8 Compile Mon..o.. .f.r..o..m.. .G...I.T........................................................................................................................................ 9 Testing ......................................................................................................................................................... 10 3 Cubie.t.r.u..c..k.. .........................................................................................................................
    [Show full text]
  • ENERGY EFFICIENCY in RESIDENTIAL BUILDINGS in MOZAMBIQUE Measurements and Simulations
    Report TABK-1027 BZ info: TABK-1027 GABRIEL AUZIANE Rygg: 13,22 = 187 sidor Setup (bxh): 369,22 x 252 Upplaga: 120 Mellanblad: grå and Simulations ENERGY EFFICIENCY IN RESIDENTIAL BUI DINGS MOZAMBIQUE - Measurements Färgsidor: ingen begränsn. ENERGY EFFICIENCY IN RESIDENTIAL BUILDINGS IN MOZAMBIQUE Measurements and Simulations GABRIEL AUZIANE Building Doctoral Thesis Science DEPARTMENT OF CONSTRUCTION SCIENCES DIVISION OF BUILDING SCIENCE ISRN LUTVDG/TABK--15/1027--SE (1-176) | ISSN 1103-4467 ISBN 978-91-7623-159-3 (print) | ISBN 978-91-7623-160-9 (pdf) DOCTORAL THESIS ENERGY EFFICIENCY IN RESIDENTIAL BUILDINGS IN MOZAMBIQUE Measurements and Simulations GABRIEL AUZIANE Copyright © Gabriel Auziane 2015. Printed by Media-Tryck LU, Lund, Sweden, April 2015 (Pl). For information, address: Division of Building Science, LTH, Lund University, Box 118, SE-221 00 Lund, Sweden. Homepage: http://www.bkl.lth.se Acknowledgements I am deeply thankful to my main supervisors, Professor Bertil Fredlund and Associate Professor Susanne Heyden, my co-supervisors Dr. Kurt Källblad, Dr. Daniel Baloi, and the former Head of the Department of Construction Sciences, Professor Göran Sandberg and Professor Anne Landin for offering me the possibility of working in this project and also for support, encouragement, inspiration and patience over the years, without their help and advice this thesis work would never have been successful. Furthermore, I would like to thank the Head of the Division of Structural Mechanics, Professor Erik Serrano and Professors Jesper Arfvidsson and Petter Wallentén, for their supervision of the work and great help in the overall process of this research. I thank Asdi/SAREC for this research receiving financial support through Lund University and Eduardo Mondlane University under the coordination of Prof.
    [Show full text]
  • Computer Viruses and Malware Advances in Information Security
    Computer Viruses and Malware Advances in Information Security Sushil Jajodia Consulting Editor Center for Secure Information Systems George Mason University Fairfax, VA 22030-4444 email: [email protected] The goals of the Springer International Series on ADVANCES IN INFORMATION SECURITY are, one, to establish the state of the art of, and set the course for future research in information security and, two, to serve as a central reference source for advanced and timely topics in information security research and development. The scope of this series includes all aspects of computer and network security and related areas such as fault tolerance and software assurance. ADVANCES IN INFORMATION SECURITY aims to publish thorough and cohesive overviews of specific topics in information security, as well as works that are larger in scope or that contain more detailed background information than can be accommodated in shorter survey articles. The series also serves as a forum for topics that may not have reached a level of maturity to warrant a comprehensive textbook treatment. Researchers, as well as developers, are encouraged to contact Professor Sushil Jajodia with ideas for books under this series. Additional tities in the series: HOP INTEGRITY IN THE INTERNET by Chin-Tser Huang and Mohamed G. Gouda; ISBN-10: 0-387-22426-3 PRIVACY PRESERVING DATA MINING by Jaideep Vaidya, Chris Clifton and Michael Zhu; ISBN-10: 0-387- 25886-8 BIOMETRIC USER AUTHENTICATION FOR IT SECURITY: From Fundamentals to Handwriting by Claus Vielhauer; ISBN-10: 0-387-26194-X IMPACTS AND RISK ASSESSMENT OF TECHNOLOGY FOR INTERNET SECURITY.'Enabled Information Small-Medium Enterprises (TEISMES) by Charles A.
    [Show full text]
  • KEMPER PROFILER Addendum 8.6 Legal Notice
    KEMPER PROFILER Addendum 8.6 Legal Notice This manual, as well as the software and hardware described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. The content of this manual is furnished for informational use only, is subject to change without notice and should not be construed as a commitment by Kemper GmbH. Kemper GmbH assumes no responsibility or liability for any errors or inaccuracies that may appear in this book. Except as permitted by such license, no part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, recording, by smoke signals or otherwise without the prior written permission of Kemper GmbH. KEMPER™, PROFILER™, PROFILE™, PROFILING™, PROFILER PowerHead™, PROFILER PowerRack™, PROFILER Stage™, PROFILER Remote™, KEMPER Kone™, KEMPER Kabinet™, KEMPER Power Kabinet™, KEMPER Rig Exchange™, KEMPER Rig Manager™, PURE CABINET™, and CabDriver™ are trademarks of Kemper GmbH. All features and specifications are subject to change without notice. (Rev. September 2021). © Copyright 2021 Kemper GmbH. All rights reserved. www.kemper-amps.com Table of Contents What is new? 1 What is new in version 8.6? 2 Double Tracker 2 Acoustic Simulator Enhancements 3 Auto Swell Sensitivity 3 PROFILER Stage Wi-Fi Enhancement 4 What is new in version 8.5? 5 Important Hints for Users of KEMPER Power Kabinet 5 KEMPER Rig Manager for iOS®* 6 Wi-Fi with PROFILER Stage 9 What is new in version 8.2? 11 Power Amp
    [Show full text]
  • An Interview With
    An Interview with LANCE HOFFMAN OH 451 Conducted by Rebecca Slayton on 1 July 2014 George Washington University Washington, D.C. Charles Babbage Institute Center for the History of Information Technology University of Minnesota, Minneapolis Copyright, Charles Babbage Institute Lance Hoffman Interview 1 July 2014 Oral History 451 Abstract This interview with security pioneer Lance Hoffman discusses his entrance into the field of computer security and privacy—including earning a B.S. in math at the Carnegie Institute of Technology, interning at SDC, and earning a PhD at Stanford University— before turning to his research on computer security risk management at as a Professor at the University of California–Berkeley and George Washington University. He also discusses the relationship between his PhD research on access control models and the political climate of the late 1960s, and entrepreneurial activities ranging from the creation of a computerized dating service to the starting of a company based upon the development of a decision support tool, RiskCalc. Hoffman also discusses his work with the Association for Computing Machinery and IEEE Computer Society, including his role in helping to institutionalize the ACM Conference on Computers, Freedom, and Privacy. The interview concludes with some reflections on the current state of the field of cybersecurity and the work of his graduate students. This interview is part of a project conducted by Rebecca Slayton and funded by an ACM History Committee fellowship on “Measuring Security: ACM and the History of Computer Security Metrics.” 2 Slayton: So to start, please tell us a little bit about where you were born, where you grew up.
    [Show full text]
  • Practical Migration to Linux on System Z
    Front cover Practical Migration to Linux on System z Overview and migration methodology Migration analysis Hands-on migration case study Lydia Parziale Joseph Apuzzo Saulo Augusto M Martins da Silva Louis Henderson Manoj Srinivasan Pattabhiraman Richard Sewell ibm.com/redbooks International Technical Support Organization Practical Migration to Linux on System z October 2009 SG24-7727-00 Note: Before using this information and the product it supports, read the information in “Notices” on page xi. First Edition (October 2009) This edition applies to z/VM Version 5.3 and Version 5.4, Novell SUSE Linux Enterprise Server Version 10 and Version 11, and Red Hat Enterprise Linux Version 5.3. © Copyright International Business Machines Corporation 2009. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . xi Trademarks . xii Preface . xv The team who wrote this book . xv Become a published author . xviii Comments welcome. xviii Part 1. Overview and migration methodology . 1 Chapter 1. Migration considerations . 3 1.1 Reason to migrate systems. 4 1.1.1 How green is your data center . 4 1.1.2 The IBM Big Green server consolidation . 7 1.2 Benefits of migrating to Linux on System z . 7 1.3 Reasons to select Linux on System z . 9 1.3.1 System z strengths . 10 1.3.2 Value of Linux on System z. 12 1.3.3 Choosing workloads to migrate to IBM System z . 13 1.4 z/VM virtualization for Linux on IBM System z .
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • What Every Engineer Should Know About Developing Real-Time
    Contents What Every Engineer Should Know: Series Statement................ xv Preface. ................................................................. xvii Author. ................................................................. xix Acknowledgments . ................................................... xx List of Abbreviations................................................... xxi 1 Development Processes . ......................................... 1 1.1 Introduction ............................................... 1 1.2 Concept and Market ...................................... 5 1.3 People and Disciplines . .................................. 7 1.4 Architecting and Architecture . ......................... 8 1.5 Phases of a Project . ....................................... 16 1.6 Scheduling. ................................................ 19 1.7 Documentation . ........................................... 21 1.8 Requirements and Standards ............................. 24 1.9 Analysis . ................................................ 30 1.10 Design Trade-Offs. ....................................... 31 1.11 Tests . .................................................... 38 1.12 Integration. ................................................ 42 1.13 Manufacturing. ........................................... 44 1.14 Support .................................................... 45 1.15 Disposal . ................................................ 47 1.16 Liability.................................................... 48 1.17 Priorities. ...............................................
    [Show full text]
  • Autofac Documentation Release 6.0.0
    Autofac Documentation Release 6.0.0 Autofac Project Jul 11, 2021 Contents 1 Getting Started 3 1.1 Structuring the Application.......................................3 1.2 Add Autofac References.........................................5 1.3 Application Startup............................................5 1.4 Application Execution..........................................6 1.5 Going Further..............................................8 1.6 Need Help?................................................8 1.7 Building from Source..........................................8 2 What’s New 9 2.1 Release Notes..............................................9 2.2 Upgrading from Autofac 5.x to 6.x................................... 10 2.3 Upgrading from Autofac 3.x to 4.x................................... 12 3 Registering Components 15 3.1 Registration Concepts.......................................... 15 3.1.1 Reflection Components..................................... 16 3.1.2 Instance Components...................................... 17 3.1.3 Lambda Expression Components................................ 17 3.1.4 Open Generic Components................................... 19 3.1.5 Services vs. Components.................................... 19 3.1.6 Default Registrations...................................... 20 3.1.7 Conditional Registration.................................... 20 3.1.8 Configuration of Registrations................................. 22 3.1.9 Dynamically-Provided Registrations.............................. 22 3.2 Passing Parameters to Register.....................................
    [Show full text]
  • BBST Course 3 -- Test Design
    BLACK BOX SOFTWARE TESTING: INTRODUCTION TO TEST DESIGN: A SURVEY OF TEST TECHNIQUES CEM KANER, J.D., PH.D. PROFESSOR OF SOFTWARE ENGINEERING: FLORIDA TECH REBECCA L. FIEDLER, M.B.A., PH.D. PRESIDENT: KANER, FIEDLER & ASSOCIATES This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/2.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. These notes are partially based on research that was supported by NSF Grants EIA- 0113539 ITR/SY+PE: “Improving the Education of Software Testers” and CCLI-0717613 “Adaptation & Implementation of an Activity-Based Online or Hybrid Course in Software Testing.” Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. BBST Test Design Copyright (c) Kaner & Fiedler (2011) 1 NOTICE … … AND THANKS The practices recommended and The BBST lectures evolved out of practitioner-focused courses co- discussed in this course are useful for an authored by Kaner & Hung Quoc Nguyen and by Kaner & Doug Hoffman introduction to testing, but more (now President of the Association for Software Testing), which then experienced testers will adopt additional merged with James Bach’s and Michael Bolton’s Rapid Software Testing practices. (RST) courses. The online adaptation of BBST was designed primarily by Rebecca L. Fiedler. I am writing this course with the mass- market software development industry in Starting in 2000, the course evolved from a practitioner-focused course mind.
    [Show full text]