Delft University of Technology an Empirical Evaluation of Feedback

Total Page:16

File Type:pdf, Size:1020Kb

Delft University of Technology an Empirical Evaluation of Feedback Delft University of Technology An Empirical Evaluation of Feedback-Driven Software Development Beller, Moritz DOI 10.4233/uuid:b2946104-2092-42bb-a1ee-3b085d110466 Publication date 2018 Document Version Final published version Citation (APA) Beller, M. (2018). An Empirical Evaluation of Feedback-Driven Software Development. https://doi.org/10.4233/uuid:b2946104-2092-42bb-a1ee-3b085d110466 Important note To cite this publication, please use the final published version (if applicable). Please check the document version above. Copyright Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons. Takedown policy Please contact us and provide details if you believe this document breaches copyrights. We will remove access to the work immediately and investigate your claim. This work is downloaded from Delft University of Technology. For technical reasons the number of authors shown on this cover page is limited to a maximum of 10. AN EMPIRICAL EVALUATION OF FEEDBACK-DRIVEN SOFTWARE DEVELOPMENT Moritz Beller An Empirical Evaluation of Feedback-Driven Software Development An Empirical Evaluation of Feedback-Driven Software Development Proefschrift ter verkrijging van de graad van doctor aan de Technische Universiteit Delft, op gezag van de Rector Magnificus prof. dr. ir. T.H.J.J. van der Hagen, voorzitter van het College voor Promoties, in het openbaar te verdedigen op vrijdag 23 november 2018 om 15.00 uur door Moritz Marc BELLER Master of Science in Computer Science, Technische Universität München, Duitsland, geboren te Schweinfurt, Duitsland. Dit proefschrift is goedgekeurd door de promotoren: Dr. A.E. Zaidman, Prof. dr. A. van Deursen copromotor: Dr. ir. G. Gousios Samenstelling promotiecommissie: Rector Magnificus, voorzitter Prof. dr. A. van Deursen, Technische Universiteit Delft Dr. A.E. Zaidman, Technische Universiteit Delft Dr. ir. G. Gousios, Technische Universiteit Delft Onafhankelijke leden: Prof. dr. ir. G.J.P.M. Houben, Technische Universiteit Delft Prof. dr. P. Runeson, Lund Universitet, Sweden Dr. Th. Zimmermann, Microsoft Research, United States of America Prof. dr. D. Spinellis, Athens University of Economics and Business, Greece Prof. dr. ir. E. Visser, Technische Universiteit Delft, reservelid Prof. dr. D. Spinellis has contributed to the end phase of writing Chapter 6. The work in the thesis has been carried out under the auspices of the research school IPA (Institute for Programming research and Algorithmics) and was financed by the Ned- erlandse Organisatie voor Wetenschappelijk Onderzoek (NWO), project TestRoots, grant number 016.133.324. Keywords: Feedback-Driven Development (FDD), Developer Testing, Empirical Software Engineering, Continuous Integration Printed by: ProefschriftMaken, www.proefschriftmaken.nl Cover: Cloud of ‘2,443 points’ by Zsófia Varga The author set this thesisA inLTEX using the Libertinus and Inconsolata fonts. ISBN 978-94-6380-065-5 An electronic version of this dissertation is available at http://repository.tudelft.nl/. I [...] like to give the maximum in everything I do. The maximum I have. The maximum I can give. I am not perfect. But if I do something, I do it [as best I can]. Reinhold Messner vii Contents Summary xi Samenvatting xiii Acknowledgments xv 1 Introduction 1 1.1 Background & Context . 2 1.1.1 A Model of Feedback-Driven Development. 2 1.1.2 The Case for FDD in a Collaborative Coding World. .5 1.2 Feedback-Driven Development in Practice . 6 1.3 Research Goal and Questions. 8 1.4 Research Methodology . 8 1.4.1 Research Method Categorization . 9 1.4.2 Enablement of Large-Scale Studies . 10 1.4.3 Ethical Implications . 11 1.5 Replicability, Open Science & Source . 12 1.5.1 Open Data Sets. 12 1.5.2 Open-Source Contributions . 13 1.6 Outline & Contribution . 14 1.6.1 Thesis Structure . 16 1.6.2 Other Contributions . 18 2 Analyzing the State of Static Analysis 21 2.1 Related Work. 23 2.1.1 Automatic Static Analysis Tools . 23 2.1.2 Defect Classifications . 23 2.2 Research Questions . 24 2.3 Prevalence Analysis (RQ I.1) . 25 2.3.1 Methodology . 25 2.3.2 Results . 26 2.4 General Defect Classification (GDC) . 27 2.5 Configuration & Evolution (RQ I.2, RQ I.3) . 28 2.5.1 Study Design. 29 2.5.2 Methods . 29 2.5.3 Study Objects . 31 2.5.4 Results . 32 2.6 Discussion . 36 2.6.1 Results . 36 2.6.2 Threats to Validity . 39 viii Contents 2.7 Tool Construction UAV. 40 2.7.1 Introduction . 40 2.7.2 User Story . 41 2.7.3 Related Work. 41 2.7.4 Implementation . 43 2.7.5 Evaluation . 46 2.7.6 Development Roadmap. 47 2.8 Future Work & Conclusions . 48 3 The Last Line Effect Explained 51 3.1 Study Setup . 54 3.1.1 Study Design : Spread and Prevalence of the Last Line Effect within Micro-Clones퐶1 . 54 3.1.2 Study Design : Analyzing Reasons Behind the Existence of the Last Line Effect.퐶2 . 55 3.1.3 Study Objects . 56 3.1.4 How to Replicate This Study . 56 3.2 Methods . 56 3.2.1 Inaptness of Current Clone Detectors . 56 3.2.2 How to Find Faulty Micro-Clones Instead . 57 3.2.3 Inferring the Origin of an Erroneous Micro-Clone Instance. 57 3.2.4 Putting Commit Sizes in Perspective . 59 3.3 Results . 59 3.3.1 Overview Description of Results . 59 3.3.2 In-Depth Investigation of Findings . 60 3.3.3 Statistical Evaluation . 63 3.3.4 Origin of Micro-Clones. 64 3.3.5 Developer Interviews. 66 3.3.6 Usefulness of Results . 69 3.4 Discussion . 69 3.4.1 Technical Complexity & Reasons . 70 3.4.2 Psychological Mechanisms & Reasons . 70 3.4.3 Threats to Validity . 72 3.5 Related Work. 74 3.6 Future Work & Conclusion . 75 4 Developer Testing in the IDE: Patterns, Beliefs, and Behavior 77 4.1 Study Infrastructure Design . 79 4.1.1 Field Study Infrastructure . 79 4.1.2 WatchDog Developer Survey & Testing Analytics . 81 4.1.3 IDE Instrumentation . 84 4.2 Research Methods . 88 4.2.1 Correlation Analyses (RQ III.1, RQ III.2) . 88 4.2.2 Analysis of Induced Test Failures (RQ III.3). 88 4.2.3 Sequentialization of Intervals (RQ III.3, RQ III.4) . 89 4.2.4 Test Flakiness Detection (RQ III.3) . 89 Contents ix 4.2.5 Recognition of Test-Driven Development (RQ III.4). 89 4.2.6 Statistical Evaluation (RQ III.1–RQ III.5) . 92 4.3 Study Participants . 92 4.3.1 Acquisition of Participants . 92 4.3.2 Demographics of Study Subjects . 93 4.3.3 Data Normalization . 95 4.4 Results . 95 4.4.1 RQ III.1: Which Testing Patterns Are Common In the IDE?. 95 4.4.2 RQ III.2: What Characterizes The Tests Developers Run In The IDE? . 97 4.4.3 RQ III.3: How Do Developers Manage Failing Tests? . 98 4.4.4 RQ III.4: Do Developers Follow TDD In The IDE? . 101 4.4.5 RQ III.5: How Much Do Developers Test In The IDE?. 102 4.5 Discussion . 103 4.5.1 RQ III.1: Which Testing Patterns Are Common In the IDE?. .104 4.5.2 RQ III.2: What Characterizes The Tests Developers Run? . .105 4.5.3 RQ III.3: How Do Developers Manage Failing Tests? . 106 4.5.4 RQ III.4: Do Developers Follow TDD? . 108 4.5.5 RQ III.5: How Much Do Developers Test? . 110 4.5.6 A Note On Generality And Replicability . 112 4.5.7 Toward A theory of Test-Guided Development . 112 4.6 Threats to Validity . .113 4.6.1 Limitations. 113 4.6.2 Construct Validity . 114 4.6.3 Internal Validity . 114 4.6.4 External Validity . 115 4.7 Related Work. 116 4.7.1 Related Tools and Plugins . 116 4.7.2 Related Research . 116 4.8 Conclusion . 117 5 Oops, My Tests Broke the Build: An Analysis of Travis CI 119 5.1 Background . 122 5.1.1 Related Work. 122 5.1.2 Travis CI . 122 5.2 Research Setup . 125 5.2.1 Study Design. 125 5.2.2 Tools . 125 5.2.3 Build Linearization and Mapping to Git . 127 5.2.4 Statistical Evaluation . 129 5.3 The TravisTorrent Data Set. .129 5.3.1 Descriptive Statistics . 129 5.3.2 Data-Set-as-a-Service . ..
Recommended publications
  • Katalog Elektronskih Knjiga
    KATALOG ELEKTRONSKIH KNJIGA Br Autor Naziv Godina ISBN Str. Porijeklo izdavanja 1 Peter Kent Pay Per Click Search 2006 0-471-74594-3 130 Kupovina Engine Marketing for Dummies 2 Terry Large Access 1 2007 Internet Freeware 3 Kevin Smith Excel Lassons & Tutorials 2004 Internet Freeware 4 Terry Michael Photografy Tutorials 2006 Internet Freeware Janine Peterson Phil Pivnick 5 Jake Ludington Converting Vinyl LPs 2003 Internet Freeware to CD 6 Allen Wyatt Cleaning Windows XP 2004 0-7645-7311-X Poklon for Dummies 7 Peter Kent Sarch Engine Optimization 2006 0-4717-5441-2 Kupovina for Dummies 8 Terry Large Access 2 2007 Internet Freeware 9 Dirk Dupon How to write, create, 2005 Internet Freeware promote and sell E-books on the Internet 10 Chayden Bates eBook Marketing 2000 Internet Freeware Explained 11 Kevin Sinclair How To Choose A 1999 Internet Freeware Homebased Bussines 12 Bob McElwain 101 Newbie-Frendly Tips 2001 Internet Freeware 13 Windows Basics 2004 Poklon 14 Michael Abrash Zen of Graphic 2005 Poklon Programming, 2. izdanje 15 13 Hot Internet 2000 Internet Freeware Moneymaking Methods 16 K. Williams The Complete HTML 1998 Poklon Teacher 17 C. Darwin On the Origin of Species Internet Freeware 2/175 Br Autor Naziv Godina ISBN Str. Porijeklo izdavanja 18 C. Darwin The Variation of Animals Internet Freeware 19 Bruce Eckel Thinking in C++, Vol 1 2000 Internet Freeware 20 Bruce Eckel Thinking in C++, Vol 2 2000 Internet Freeware 21 James Parton Captains of Industry 1890 399 Internet Freeware 22 Bruno R. Preiss Data Structures and 1998 Internet
    [Show full text]
  • Development and Certification of Mixed-Criticality Embedded
    Development and Certification of Mixed-criticality Embedded Systems based on Probabilistic Timing Analysis Irune Agirre Troncoso Computer Architecture Department Universitat Polit`ecnicade Catalunya A thesis submitted for the degree of PhD in Computer Architecture May 2018 Development and Certification of Mixed-criticality Embedded Systems based on Probabilistic Timing Analysis Irune Agirre Troncoso May 2018 Universitat Polit`ecnicade Catalunya Computer Architecture Department Thesis submitted for the degree of Doctor of Philosophy in Computer Architecture Advisor: Francisco J. Cazorla, Barcelona Supercomputing Center and IIIA-CSIC Co-advisor: Mikel Azkarate-askatsua, IK4-Ikerlan Technology Research Center The work reported in this Thesis has been conducted in collaboration between the Univer- sitat Polit`ecnicade Catalunya, the Dependable Embedded Systems department of IK4-Ikerlan Technology Research Center and the Computer Architecture and Operating Systems (CAOS) group of the Barcelona Supercomputing Center (BSC). i ii Abstract An increasing variety of emerging systems relentlessly replace or aug- ment the functionality of mechanical subsystems with embedded elec- tronics. For quantity, complexity, and use, the safety of such subsys- tems, often subject to regulation, is an increasingly important matter. Those systems are subject to safety certification to demonstrate sys- tem's safety by rigorous development processes and hardware/software constraints. The massive augment in embedded processors' complexity renders the arduous certification task significantly harder to achieve. The focus of this thesis is to address the certification challenges in multicore architectures: despite their potential to integrate several ap- plications on a single platform, their inherent complexity imperils their timing predictability and certification. For the former, Measurement- Based Probabilistic Timing Analysis (MBPTA) has recently emerged as an alternative to deal with hardware/software complexity.
    [Show full text]
  • Printed Program
    rd International Conference 43 on Software Engineering goes Virtual PROGRAM May 25th –28th 2021 Co-located events: May 17th –May 24th Workshops: May 24th , May 29th –June 4th https://conf.researchr.org/home/icse-2021 @ICSEconf Table of Contents Conference overviews ............................................................... 3 Sponsors and Supporters ......................................................... 11 Welcome letter ........................................................................ 13 Keynotes ................................................................................. 18 Technical Briefings ................................................................. 28 Co-located events .................................................................... 35 Workshops .............................................................................. 36 New Faculty Symposium ........................................................ 37 Doctoral Symposium .............................................................. 39 Detailed Program - Tuesday, May 25th .................................................... 42 - Wednesday, May 26th ............................................... 53 - Thursday, May 27th .................................................. 66 - Friday, May 28th ....................................................... 80 Awards .................................................................................... 91 Social and Networking events ................................................. 94 Organizing Committee ........................................................
    [Show full text]
  • A Dataset of Open-Source Safety-Critical Software⋆
    A Dataset of Open-Source Safety-Critical Software? Rafaila Galanopoulou[0000−0002−5318−9017] and Diomidis Spinellis[0000−0003−4231−1897] Department of Management Science and Technology Athens University of Economics and Business Patission 76, Athens, 10434, Greece ft8160018,[email protected] https://www.aueb.gr Abstract. We describe the method used to create a dataset of open- source safety-critical software, such as that used for autonomous cars, healthcare, and autonomous aviation, through a systematic and rigorous selection process. The dataset can be used for empirical studies regard- ing the quality assessment of safety-critical software, its dependencies, and its development process, as well as comparative studies considering software from other domains. Keywords: open-source · safety-critical · dataset 1 Introduction Safety-critical systems (SCS) are those whose failure could result in loss of life, significant property damage, or damage to the environment [5]. Over the past decades ever more software is developed and released as open-source software (OSS) | with licenses that allow its free use, study, change, and distribution [1]. The increasing adoption of open-source software in safety-critical systems [10], such as those used in the medical, aerospace, and automotive industries, poses an interesting challenge. On the one hand, it shortens time to delivery and lowers development costs [6]. On the other hand, it introduces questions regarding the system's quality. For a piece of software to be part of a safety-critical application it requires quality assurance, because quality is a crucial factor of an SCS's software [3]. This assurance demands that evidence regarding OSS quality is supplied, and an analysis is needed to assess if the certification cost is worthwhile.
    [Show full text]
  • Curriculum Vitae
    CURRICULUM VITAE Diomidis Spinellis Professor of Software Engineering Department of Management Science and Technology Athens University of Economics and Business September 17, 2021 CV — Diomidis Spinellis CONTENTS Contents 1 Personal and Contact Details 5 2 Education 5 3 Research Interests 5 4 Honours and Awards 5 5 Teaching Experience 7 6 Scientific, Professional, and Technical Activities 7 6.1 Memberships of Professional and Learned Societies .................... 7 6.2 Journal and Magazine Editorial Board Member ...................... 7 6.3 Service in Conference Committees ............................. 7 6.4 Other Professional Society Service ............................. 11 6.5 Selected Open Source Software Development ....................... 12 7 Publications 12 7.1 Books: Monographs and Edited Volumes .......................... 12 7.2 Theses ............................................ 13 7.3 Peer‐reviewed Journal Articles ............................... 13 7.4 Editor‐in‐Chief and Guest Editor Introductions ....................... 17 7.5 Magazine Columns ..................................... 18 7.6 Book Chapters ........................................ 20 7.7 Conference Publications .................................. 20 7.8 Letters Published in Scholarly Journals and Newspapers .................. 29 7.9 Technical Reports and Working Papers ........................... 29 7.10 Book Reviews ........................................ 30 7.11 Articles in the Technical Press and SIG Publications .................... 32 7.12 Invited Talks
    [Show full text]
  • Improving Software Fault Prediction Using a Data-Driven Approach
    Improving Software Fault Prediction Using a Data-Driven Approach André Sobral Gonçalves Thesis to obtain the Master of Science Degree in Information Systems and Computer Engineering Supervisor: Prof. Rui Filipe Lima Maranhão de Abreu Examination Committee: Chairperson: Prof. Daniel Jorge Viegas Gonçalves Supervisor: Prof. Rui Filipe Lima Maranhão de Abreu Members of the Committee: Prof. João Fernando Peixoto Ferreira September 2019 ii Acknowledgements Firstly, I want to thank my supervisor, Professor Rui Maranhão for his insight, guidance, patience and for having given me the opportunity to do research in such an interesting field. I am grateful to my family for their immense support, patience and love throughout the entire course. In particular, to my parents, João Carlos and Ana Maria Gonçalves, my brother, João Pedro Gonçalves, my parents-in-law, Carlos and Maria José Alves and my beautiful niece Olivia. I want to thank Carolina Alves, for all her love, care, kindness, determination and willingness to review countless times everything I needed. To my friends and colleagues, José Ferreira, Gustavo Enok, Fábio Almeida, Duarte Meneses, Delfim Costa for supporting me all this time. iii Abstract In software development, debugging is one of the most expensive tasks in the life cycle of a project. Repetitive, manual identification of faults in software, which are the source of errors and inefficiencies, is inherently time-consuming and error-prone. The solution to this problem is automated software diagnosis. This approach solves the issues mentioned previously as long as the accuracy of the diagnosis is credible. There are different tools and techniques which ensure this diagnosis, but they neglect valuable data.
    [Show full text]
  • Design Principles and Patterns for Computer Systems That Are
    Bibliography [AB04] Tom Anderson and David Brady. Principle of least astonishment. Ore- gon Pattern Repository, November 15 2004. http://c2.com/cgi/wiki? PrincipleOfLeastAstonishment. [Acc05] Access Data. Forensic toolkit—overview, 2005. http://www.accessdata. com/Product04_Overview.htm?ProductNum=04. [Adv87] Display ad 57, February 8 1987. [Age05] US Environmental Protection Agency. Wastes: The hazardous waste mani- fest system, 2005. http://www.epa.gov/epaoswer/hazwaste/gener/ manifest/. [AHR05a] Ben Adida, Susan Hohenberger, and Ronald L. Rivest. Fighting Phishing Attacks: A Lightweight Trust Architecture for Detecting Spoofed Emails (to appear), 2005. Available at http://theory.lcs.mit.edu/⇠rivest/ publications.html. [AHR05b] Ben Adida, Susan Hohenberger, and Ronald L. Rivest. Separable Identity- Based Ring Signatures: Theoretical Foundations For Fighting Phishing Attacks (to appear), 2005. Available at http://theory.lcs.mit.edu/⇠rivest/ publications.html. [AIS77] Christopher Alexander, Sara Ishikawa, and Murray Silverstein. A Pattern Lan- guage: towns, buildings, construction. Oxford University Press, 1977. (with Max Jacobson, Ingrid Fiksdahl-King and Shlomo Angel). [AKM+93] H. Alvestrand, S. Kille, R. Miles, M. Rose, and S. Thompson. RFC 1495: Map- ping between X.400 and RFC-822 message bodies, August 1993. Obsoleted by RFC2156 [Kil98]. Obsoletes RFC987, RFC1026, RFC1138, RFC1148, RFC1327 [Kil86, Kil87, Kil89, Kil90, HK92]. Status: PROPOSED STANDARD. [Ale79] Christopher Alexander. The Timeless Way of Building. Oxford University Press, 1979. 429 430 BIBLIOGRAPHY [Ale96] Christopher Alexander. Patterns in architecture [videorecording], October 8 1996. Recorded at OOPSLA 1996, San Jose, California. [Alt00] Steven Alter. Same words, different meanings: are basic IS/IT concepts our self-imposed Tower of Babel? Commun. AIS, 3(3es):2, 2000.
    [Show full text]
  • Fault Diagnosis for Functional Safety in Electrified and Automated Vehicles
    Fault Diagnosis for Functional Safety in Electrified and Automated Vehicles Dissertation Presented in Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the Graduate School of The Ohio State University By Tianpei Li, Graduate Program in Mechanical Engineering The Ohio State University 2020 Dissertation Committee: Prof. Giorgio Rizzoni, Advisor Prof. Manoj Srinivasan Prof. Ran Dai Prof. Qadeer Ahmed c Copyright by Tianpei Li 2020 Abstract Vehicle safety is one of the critical elements of modern automobile development. With increasing automation and complexity in safety-related electrical/electronic (E/E) systems, and given the functional safety standards adopted by the automo- tive industry, the evolution and introduction of electrified and automated vehicles had dramatically increased the need to guarantee unprecedented levels of safety and security in the automotive industry. The automotive industry has broadly and voluntarily adopted the functional safety standard ISO 26262 to address functional safety problems in the vehicle development process. A V-cycle software development process is a core element of this standard to ensure functional safety. This dissertation develops a model-based diagnostic method- ology that is inspired by the ISO-26262 V-cycle to meet automotive functional safety requirements. Specifically, in the first phase, system requirements for diagnosis are determined by Hazard Analysis and Risk Assessment (HARA) and Failure Modes and Effect Analysis (FMEA). Following the development of system requirements, the second phase of the process is dedicated to modeling the physical subsystem and its fault modes. The implementation of these models using advanced simulation tools (MATLAB/Simulink and CarSim in this dissertation) permits quantification of the fault effects on system safety and performance.
    [Show full text]
  • Ada User Journal 66 Editorial 67 Quarterly News Digest 69 Conference Calendar 97 Forthcoming Events 103 Articles from the Industrial Track of Ada-Europe 2011 R
    ADA Volume 32 USER Number 2 June 2011 JOURNAL Contents Page Editorial Policy for Ada User Journal 66 Editorial 67 Quarterly News Digest 69 Conference Calendar 97 Forthcoming Events 103 Articles from the Industrial Track of Ada-Europe 2011 R. Bridges, F. Dordowsky, H. Tschöpe “Implementing a Software Product Line for a complex Avionics System in Ada 83” 107 Ada Gems 116 Ada-Europe Associate Members (National Ada Organizations) 128 Ada-Europe 2011 Sponsors Inside Back Cover Ada User Journal Volume 32, Number 2, June 2011 66 Editorial Policy for Ada User Journal Publication Original Papers Commentaries Ada User Journal — The Journal for Manuscripts should be submitted in We publish commentaries on Ada and the international Ada Community — is accordance with the submission software engineering topics. These published by Ada-Europe. It appears guidelines (below). may represent the views either of four times a year, on the last days of individuals or of organisations. Such March, June, September and All original technical contributions are articles can be of any length – December. Copy date is the last day of submitted to refereeing by at least two inclusion is at the discretion of the the month of publication. people. Names of referees will be kept Editor. confidential, but their comments will Opinions expressed within the Ada Aims be relayed to the authors at the discretion of the Editor. User Journal do not necessarily Ada User Journal aims to inform represent the views of the Editor, Ada- readers of developments in the Ada The first named author will receive a Europe or its directors.
    [Show full text]
  • Digium Analog Gateway EULA
    END-USER LICENSE AGREEMENT FOR ANALOG DIGIUM GATEWAY AND GATEWAY SOFTWARE November 2017 IMPORTANT – PLEASE READ CAREFULLY 1.1 Definitions “Affiliate” means an entity which is (a) directly or indirectly controlling Digium; or (b) which is directly or indirectly owned or controlled by Digium. “Digium” means both Digium, Inc. and Digium's Affiliates. "Analog Digium Gateways" means Digium manufactured and branded gateways which are hardware devices (inclusive of the Analog Digium Gateway Software). “Digium Analog Gateway Software” collectively means both the Original Analog Digium Gateway Software and any Analog Digium Gateway Software Updates. “Digium Analog Gateway Software Updates” means updates or replacements provided by Digium for the Original Analog Digium Gateway Software in the form of feature enhancements, software updates, bug fixes, upgrades, otherwise modified versions of the Original Analog Digium Gateway Software, or system restore software provided by Digium, whether in read only memory or on any other media or in any other form. “Original Digium Analog Gateway Software” means the software, sounds (for example, ringtones), interfaces, content, fonts, documentation, and any data that are delivered with Analog Digium Gateways. "You", "you" or "your" means collectively the licensee, purchaser, and end user. 1.2 This End-User License Agreement (the "Agreement" or "EULA") is a legal agreement between Digium and You regarding the license terms of the Original Analog Digium Gateway Software, the Digium Analog Gateway Software Updates and the terms of use for Analog Digium Gateways. By using a Digium Analog Gateway or downloading a Analog Digium Gateway Software Update, as applicable, you are agreeing to be bound by the terms of this Agreement.
    [Show full text]
  • Anglia Ruskin University a Type-Safe Apparatus
    ANGLIA RUSKIN UNIVERSITY A TYPE-SAFE APPARATUS EXECUTING HIGHER ORDER FUNCTIONS IN CONJUNCTION WITH HARDWARE ERROR TOLERANCE JONATHAN RICHARD ROBERT KIMMITT A thesis in partial fulfilment of the requirements of Anglia Ruskin University for the degree of Doctor of Philosophy This research programme was carried out in collaboration with The University of Cambridge Submitted: October 2015 Acknowledgements This dissertation was self-funded and prepared in part fulfilment of the requirements of the degree of Doctor of Philosophy under the supervision of Dr David Greaves of The University of Cambridge, and Dr George Wilson and Professor Marcian Cirstea at Anglia Ruskin University, without whose help this dissertation would not have been possible. I am grateful to Dr John O’Donnell of The University of Glasgow and Dr Anil Madhavapeddy of The University of Cambridge for their willingness to examine the degree. Dedication Dedicated to my wife Christine Kimmitt i ANGLIA RUSKIN UNIVERSITY ABSTRACT FACULTY OF SCIENCE AND TECHNOLOGY DOCTOR OF PHILOSOPHY A TYPE-SAFE APPARATUS EXECUTING HIGHER ORDER FUNCTIONS IN CONJUNCTION WITH HARDWARE ERROR TOLERANCE JONATHAN RICHARD ROBERT KIMMITT October 2015 The increasing commoditization of computers in modern society has exceeded the pace of associated developments in reliability. Although theoretical computer science has advanced greatly in the last thirty years, many of the best techniques have yet to find their way into embedded computers, and their failure can have a great potential for disrupting society.
    [Show full text]
  • Redundancy and Access Permissions in Decentralized File Systems
    Lehrstuhl für Netzarchitekturen und Netzdienste Fakultät für Informatik Technische Universität München Redundancy and Access Permissions in Decentralized File Systems Johanna Amann Vollständiger Abdruck der von der Fakultät für Informatik der Technischen Universität München zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Univ.-Prof. Dr. Johann Schlichter Prüfer der Dissertation: 1. Univ.-Prof. Dr. Georg Carle 2. Univ.-Prof. Dr. Kurt Tutschku, Universität Wien 3. TUM Junior Fellow Dr. Thomas Fuhrmann Die Dissertation wurde am 20.06.2011 bei der Technischen Universität München eingereicht und durch die Fakultät für Informatik am 05.09.2011 angenommen. Zusammenfassung Verteilte Dateisysteme sind ein Thema mit dem sich die Informatik immer wieder aufs Neue auseinandersetzt. Die ersten verteilten Dateisysteme sind schon sehr kurz nach dem Aufkommen von Computernetzen entstanden. Traditionell sind solche Systeme serverbasiert, d. h. es gibt eine strikte Unterscheidung zwischen den Systemen welche die Daten speichern und den Systemen welche die Daten abrufen. Diese Architektur hat Vorteile; es wird zum Beispiel angenommen, dass die Server vertrauenswürdig sind. Außerdem gibt es eine inhärente lineare Ordnung der Dateioperationen. Auf der anderen Seite sind solche zentralisierten Systeme schlecht skalierbar, haben einen hohen Administrationsaufwand, eine geringe Fehlertoleranz oder sind teuer im Betrieb. Im Verlauf des letzten Jahrzehnts wurde eine neue Art von
    [Show full text]