Empirical Analyses of Software Contributor Productivity

Total Page:16

File Type:pdf, Size:1020Kb

Empirical Analyses of Software Contributor Productivity EMPIRICALANALYSESOFSOFTWARECONTRIBUTOR PRODUCTIVITY by Ayushi Rastogi Under the supervision of Dr. Nachiappan Nagappan and Prof. Pankaj Jalote Indraprastha Institute of Information Technology, Delhi August 2017 EMPIRICALANALYSESOFSOFTWARECONTRIBUTOR PRODUCTIVITY by Ayushi Rastogi Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy to the Indraprastha Institute of Information Technology, Delhi August 2017 Dedicated to my Mom, Dad and Di. CERTIFICATE This is to certify that the thesis titled “Empirical Analyses of Software Contributor Productivity’‘ being submitted by Ayushi Rastogi to the Indraprastha Institute of Information Technology, Delhi for the award of the degree of Doctor of Philosophy, is an original research work carried out by her under our supervision. It is to be noted that from July 2011 to August 2014 research was carried out under the supervision of Dr. Ashish Sureka. In our opinion, the thesis has reached the standards fulfilling the requirements of the regulations relating to the degree. The results contained in this thesis have not been submitted in part or full to any other university or institute for the award of any degree/diploma. August 2017 Dr. Nachiappan Nagappan Prof. Pankaj Jalote Indraprastha Institute of Information Technology, Delhi New Delhi, 110020 ACKNOWLEDGEMENTS In the end, it’s the journey that matters... My PhD journey is beautiful because of the people in the forefront and in the background who stood by me. My advisers, collaborators and committee members stood at the forefront guiding me throughout and my friends/family acted as my invisible strength. As I finish my PhD, I would like to thank all those whose thoughtfulness, care and support helped me reach here. Many thanks to my advisers Dr. Nachiappan Nagappan and Prof. Pankaj Jalote whose constant support and guidance made this thesis possible. I thank Dr. Ashish Sureka who introduced me to research during the initial years of my PhD and laid the foundation for my future works. Thanks to Dr. Thomas Zimmerman, Dr. Suresh Thummalapenta, Jacek Czerwonka, and Dr. Georgios Gousios for their collaboration and fruitful discussions. Also thanks to my PhD monitoring committee: Dr. Rahul Purandare and Dr. Pushpendra Singh, for their constant feedbacks on the thesis. I thank my thesis review committee: Prof. Premkumar Devanbu, Prof. Michele Lanza and Dr. Anjaneyulu Pasala for sharing their suggestions to improve the work. I also thank my industry mentor - Ravindra Naik and comprehensive examination review committee - Dr. Pamela Bhattacharya and Dr. Gautam Shroff for their inputs. I am indebted to my Mom, Dad and Di who listened to all my crazy talks and helped me get back to track whenever I digressed from normal life. And my wonderful friends: Sangeeth, Monika, Ankita, Sonia, Megha, Surabhi, Dipto, Sonal, Hemanta, Annapurna, and Venkatesh within the institute and many more outside the institute, who made all these years memorable. Thank you all for being there. I thank the TCS PhD research fellowship programme which supported me financially throughout my PhD (January 2012 to December 2016). Also thanks to Microsoft, CICS, SIGSOFT, TCS, and IIIT- Delhi for providing travel support. Last but not the least, thanks to all the survey respondents from industry and open source projects for sharing their perspectives and experiences. v PUBLICATIONS [1] Ayushi Rastogi, Nachiappan Nagappan, and Georgios Gousios. “Geographical Bias in GitHub: Perceptions and Reality.” In: Submitting to ICSE 2018. [2] Ayushi Rastogi and Nachiappan Nagappan. “On the Personality Traits of GitHub Contribu- tors.” In: 27th International Symposium on Software Reliability Engineering, Ottawa, Canada. 2016. [3] Ayushi Rastogi and Nachiappan Nagappan. “Forking and the Sustainability of the Developer Community Participation–An Empirical Investigation on Outcomes and Reasons.” In: IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER). Vol. 1. IEEE. 2016, pp. 102–111. doi: 10.1109/SANER.2016.27. [4] Ayushi Rastogi, Suresh Thummalapenta, Thomas Zimmermann, Nachiappan Nagappan, and Jacek Czerwonka. “Ramp-Up Journey of New Hires: Tug of War of Aids and Impediments.” In: ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). 2015, pp. 1–10. doi: 10.1109/ESEM.2015.7321212. [5] Ayushi Rastogi, Suresh Thummalapenta, Thomas Zimmermann, Nachiappan Nagappan, and Jacek Czerwonka. “Ramp-up Journey of New Hires: Do strategic practices of software com- panies influence productivity?” In: 10th Innovations in Software Engineering Conference (ISEC), formerly India Software Engineering Conference. 2017, pp. 1–4. [6] Ayushi Rastogi. “Contributor’s Performance, Participation Intentions, Its Influencers and Project Performance.” In: 2015 IEEE/ACM 37th IEEE International Conference on Software En- gineering. Vol. 2. 2015, pp. 919–922. doi: 10.1109/ICSE.2015.292. [7] Ayushi Rastogi and Ashish Sureka. “What Community Contribution Pattern Says about Stabil- ity of Software Project?” In: 21st Asia-Pacific Software Engineering Conference. Vol. 2. 2014, pp. 31– 34. doi: 10.1109/APSEC.2014.88. [8] Ayushi Rastogi and Ashish Sureka. “Open Source Software: Mobile Open Source Technologies: 10th IFIP WG 2.13 International Conference on Open Source Systems, OSS 2014, San José, Costa Rica, May 6-9, 2014. Proceedings.” In: Berlin, Heidelberg: Springer Berlin Heidelberg, 2014. Chap. Does Contributor Characteristics Influence Future Participation? A Case Study on Google Chromium Issue Tracking System, pp. 164–167. isbn: 978-3-642-55128-4. doi: 10.1007/ 978-3-642-55128-4_22. url: http://dx.doi.org/10.1007/978-3-642-55128-4_22. [9] Ayushi Rastogi and Ashish Sureka. “SamikshaViz: A Panoramic View to Measure Contribu- tion and Performance of Software Maintenance Professionals by Mining Bug Archives.” In: Proceedings of the 7th India Software Engineering Conference. ISEC ’14. Chennai, India: ACM, 2014, 2:1–2:10. isbn: 978-1-4503-2776-3. doi: 10.1145/2590748.2590750. url: http://doi.acm.org/ 10.1145/2590748.2590750. [10] Ayushi Rastogi, Arpit Gupta, and Ashish Sureka. “Samiksha: Mining Issue Tracking System for Contribution and Performance Assessment.” In: Proceedings of the 6th India Software Engineering Conference. ISEC ’13. New Delhi, India: ACM, 2013, pp. 13–22. isbn: 978-1-4503-1987-4. doi: 10.1145/2442754.2442757. url: http://doi.acm.org/10.1145/2442754.2442757. [11] Ayushi Rastogi and Ashish Sureka. “SamikshaUmbra: Contribution and Performance Assess- ment of Software Maintenance Professionals by Mining Software Repositories.” In: 2013 20th Asia-Pacific Software Engineering Conference (APSEC). Vol. 2. 2013, pp. 170–175. vi CONTENTS 1 introduction 1 1.1 Empirical Software Engineering . 2 1.1.1 Research Methods . 2 1.1.2 Data Collection Techniques . 4 1.1.3 Mining Software Repositories . 6 1.1.4 Impact of Empirical Software Engineering . 7 1.2 Software Contributor Productivity . 7 1.2.1 Measuring Contributor Productivity . 8 1.2.2 Understanding Contributor Productivity . 9 1.3 Thesis Overview . 10 2 aids and impediments in the ramp-up journey of new hires 15 2.1 Introduction . 15 2.2 Related Work . 17 2.3 Background . 17 2.4 Methodology . 18 2.4.1 Data Collection . 18 2.4.2 Quantitative Analysis . 18 2.4.3 Qualitative Analysis . 19 2.5 Time to First Check-In . 20 2.5.1 Quantitative Analysis . 20 2.5.2 Qualitative Analysis . 22 2.6 Time to Ramp-Up . 24 2.6.1 Quantitative Analysis . 24 2.6.2 Qualitative Analysis . 26 2.7 Other New Hire Activities . 27 2.8 Threats to Validity . 28 2.8.1 Internal Validity . 28 2.8.2 Construct Validity . 28 2.8.3 External Validity . 28 2.9 Summary . 28 3 geographical bias in peer code review 30 3.1 Introduction . 30 3.2 Background and Related Work . 31 3.2.1 Visible Demographic Attributes and Bias . 31 3.2.2 Pull-based Development . 31 3.2.3 Factors Influencing Pull Request Acceptance Decisions . 31 3.3 Methodology . 31 3.3.1 GitHub Data . 32 3.3.2 Survey............................................ 35 3.4 Results . 37 3.4.1 Analysis of GitHub projects’ data . 37 3.4.2 Analysis of Survey Data . 39 3.4.3 Open-ended Survey Responses . 41 3.5 Threats to Validity . 43 3.5.1 Internal Validity . 43 3.5.2 External Validity . 43 3.6 Implications . 43 3.7 Summary . 44 4 factors influencing contributor participation 45 4.1 Dynamics of Competing Projects . 45 4.1.1 Introduction . 45 4.1.2 Related Work . 47 4.1.3 Background . 47 vii contents viii 4.1.4 Methodology . 50 4.1.5 Results . 52 4.1.6 Threats to Validity . 57 4.1.7 Implications . 57 4.2 Personality Traits and Context of Software Development . 58 4.2.1 Introduction . 58 4.2.2 Background and Related Work . 59 4.2.3 Methodology . 60 4.2.4 Results . 63 4.2.5 Discussions . 67 4.2.6 Threats to Validity . 68 4.3 Role and Past Contributions . 69 4.3.1 Introduction . 69 4.3.2 Empirical Analysis . 70 4.4 Summary . ..
Recommended publications
  • What Every Engineer Should Know About Software Engineering
    7228_C000.fm Page v Tuesday, March 20, 2007 6:04 PM WHAT EVERY ENGINEER SHOULD KNOW ABOUT SOFTWARE ENGINEERING Phillip A. Laplante Boca Raton London New York CRC Press is an imprint of the Taylor & Francis Group, an informa business © 2007 by Taylor & Francis Group, LLC 7228_C000.fm Page vi Tuesday, March 20, 2007 6:04 PM CRC Press Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487-2742 © 2007 by Taylor & Francis Group, LLC CRC Press is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Printed in the United States of America on acid-free paper 10 9 8 7 6 5 4 3 2 1 International Standard Book Number-10: 0-8493-7228-3 (Softcover) International Standard Book Number-13: 978-0-8493-7228-5 (Softcover) This book contains information obtained from authentic and highly regarded sources. Reprinted material is quoted with permission, and sources are indicated. A wide variety of references are listed. Reasonable efforts have been made to publish reliable data and information, but the author and the publisher cannot assume responsibility for the validity of all materials or for the conse- quences of their use. No part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www.
    [Show full text]
  • Software Development Process for Teams with Low Expertise, High-Rotation and No- Architect: a Systematic Mapping Study
    Software Development Process for Teams with Low Expertise, High-Rotation and No- Architect: A Systematic Mapping Study Paulina Valencia Franco Angelina Espinoza, Humberto Cervantes Maceda Electrical Engineering Department, Electrical Engineering Department, Universidad Autónoma Metropolitana Universidad Autónoma Metropolitana Iztapalapa, México Iztapalapa, México Email: paulatina63 –at- gmail.com Email: aespinoza, hcm -at- xanum.uam.mx Abstract —To have a well-organized software team is Process) [1], TSP (Team Software Process) [2], PSP (Personal fundamental to achieve the business goals in a software Software Process) [3], XP (Extreme Programming) [4] or development project, such as: functionality and quality in the SCRUM [5]. planned times. However, the teams present a particular problematic that are common in both industrial and academic These methodologies, for their nature, are more or less settings, this paper focuses on three: a) Teams with members prepared to face the team features previously mentioned, but with low expertise on methodologies, b) Teams with high member the real big challenge is to combine these models, to get an rotations, or c) Teams lacking a software architect. One adapted process model for overcoming all the three previous approach to address this situation is to define a software features in development teams. Particularly, these kinds of development process, adapted from the adaptability teams are commonly found in academic environments where characteristics and benefits offered by several methodologies there are not resources to hire a technical leader, nor currently used, in order that the development team obtains the experienced staff, so that development teams are mainly expected results in terms of productivity, time and quality of the comprised of students who are in constant rotation.
    [Show full text]
  • Adapting the Harris Matrix for Software Stratigraphy
    Adapting the Harris Matrix for Software Stratigraphy Andrew Reinhard Edward Harris’s (1979) landmark work, Principles of preservation of these born-digital archaeological Archaeological Stratigraphy, from which sprouted sites. the idea and practice of the Harris matrix, became This is not a new concern for people who work within the broad my windmill (or albatross) in 2017 as I attempted to umbrella of “digital humanities.” “Software archaeology”—the leverage its data visualization technique onto a digital attempt to reverse-engineer poorly documented (or undocu- mented) software in order to restore and preserve functionality— archaeological site. This visualization would not only has existed formally for over 15 years.1 Digital preservation is allow archaeologists to understand the composition also not a new idea and forms a border of software archaeology; namely, what to do with software post-use or post-“excavation.”2 and history of a digital built environment—something None of the software archaeology approaches, however, treat important to the emerging field of digital heritage— software as archaeological sites in the traditional sense, and I wanted to see what would happen if I conducted a truly archaeo- but also would contribute to the conservation and logical investigation of a software application using a tool known ABSTRACT In 1979, Edward C. Harris invented and published his eponymous matrix for visualizing stratigraphy, creating an indispensable tool for generations of archaeologists. When presenting his matrix, Harris also detailed his four laws of archaeological stratigraphy: superposition, original horizontal, original continuity, and stratigraphic succession. In 2017, I created the first stratigraphic matrix for software, using as a test the 2016 video game No Man’s Sky (Hello Games).
    [Show full text]
  • Software Preservation Benefits Framework
    Software Preservation Benefits framework CC443D006-1.0 7 December 2010 Cover + 74 pages Neil Chue Hong Steve Crouch Simon Hettrick Tim Parkinson Matt Shreeve Software Sustainability Institute Curtis+Cartwright Consulting Ltd The University of Edinburgh Main Office: Surrey Technology Centre, Registered in England: number 3707458 James Clerk Maxwell Building Surrey Research Park, Guildford Mayfield Road Surrey GU2 7YG Registered address: Edinburgh EH9 3JZ Baker Tilly, The Clock House, tel: +44 (0)1483 685020 140 London Road, Guildford, tel: +44 (0) 131 650 5030 fax: +44 (0)1483 685021 Surrey GU1 1UW email: [email protected] email: [email protected] web: http://www.software.ac.uk web: http://www.curtiscartwright.co.uk Summary of framework 1 An investigation of software preservation has been carried out by Curtis+Cartwright Consulting Limited, in partnership with the Software Sustainability Institute (SSI), on behalf of the JISC.1 The aim of the study was to raise awareness and build capacity throughout the Further and Higher Education (FE/HE) sector to engage with preservation issues as part of the process of software development. Part of this involved examining the purpose and benefits of employing preservation measures in relation to software, both at the development stage and retrospectively to legacy software. The study built on the JISC-funded ‘Significant Properties of Software’ study2 that produced an excellent introduction and comprehensive framework to software preservation. 2 This is a framework document that assists developer groups and their sponsoring bodies to understand and gauge the benefits or disbenefits of allocating effort to: – ensuring that preservation measures are built into software development processes; – actively preserving legacy software.
    [Show full text]
  • Sustainable Software Development Through Overlapping Pair Rotation Todd Sedano Paul Ralph Cécile Péraire
    Carnegie Mellon University From the SelectedWorks of Cécile Péraire September, 2016 Sustainable Software Development through Overlapping Pair Rotation Todd Sedano Paul Ralph Cécile Péraire Available at: https://works.bepress.com/cecile_peraire/35/ Sustainable Software Development through Overlapping Pair Rotation Todd Sedano Paul Ralph Cécile Péraire Pivotal University of Auckland Carnegie Mellon Unveristy 3495 Deer Creak Road Auckland Silicon Valley Campus Palo Alto, CA New Zealand Moffett Field, CA 94035, USA [email protected] [email protected] [email protected] ABSTRACT Keywords Context: Conventional wisdom says that team disruptions Extreme Programming, Grounded Theory, Code ownership, (like team churn) should be avoided. However, we have ob- Sustainable software development served software development projects that succeed despite high disruption. 1. INTRODUCTION Objective: The purpose of this paper is to understand Imagine being a software development manager when one how to develop software effectively, even in the face of team of your top engineers, Dakota, gives notice and is moving on disruption. to a new job opportunity. You are simultaneously excited Method: We followed Constructivist Grounded Theory. because the new position provides a great career opportu- We conducted participant-observation of several projects at nity for someone you respect, yet distressed that her depar- Pivotal (a software development company), and interviewed ture may exacerbate your own project. How will the team 21 software engineers, interaction designers, and product overcome this disruption? Your investment in this engineer managers. The researchers iteratively sampled and analyzed and her entire accumulated knowledge about the project is the collected data until achieving theoretical saturation. evaporating. Dakota developed some of the systems' tricki- Results: This paper introduces a descriptive theory of Sus- est, most important components.
    [Show full text]
  • Software Guide the Computer with Growth Potential
    February 1980 Volume 3 Issue 2 NEW: Professional software guide The computer with growth potential The System Three is Cromemco's best selling small business computer. It's easy to see why. Not only is it ideal for the first time computer user. But perhaps more important, it can be expanded into a comprehensive business facility servicing many varied company requirements. Single -user system You can start small. A 64K computer with a megabyte of floppy disc storage costs under £4,000.* Perhaps your initial reason for choosing Cromemco was its flexible database management system-ideal for client records, order processing, sales analysis, inventory control, and many more business uses; or you might have required the full screen word processing system, capable of printing up to 20 original letters an hour; possibly you needed Cobol, Basic or Fortran to develop your own customised packages. Single -user System Three, with 64K memory, 2 discs, terminal and printer. Easy to use Ideal for small businesses. Whatever the reason, you were highly impressed with the ease with which your Will it expand? Multi-user system very first computer application got off the It was then you discovered that the Fortunately, we can readily expand your ground. So you added another. And terminal is the limiting factor, because ofCromemco. Unlike other makers' systems, another. And pretty soon quite a lot of the time taken to input data. If only you all we need to do is add some memory and a company business was running on your could connect a second terminal you ®TU-ART interface, and the multi-user Cromemco.
    [Show full text]
  • Table of Contents
    A Comprehensive Introduction to Vista Operating System Table of Contents Chapter 1 - Windows Vista Chapter 2 - Development of Windows Vista Chapter 3 - Features New to Windows Vista Chapter 4 - Technical Features New to Windows Vista Chapter 5 - Security and Safety Features New to Windows Vista Chapter 6 - Windows Vista Editions Chapter 7 - Criticism of Windows Vista Chapter 8 - Windows Vista Networking Technologies Chapter 9 -WT Vista Transformation Pack _____________________ WORLD TECHNOLOGIES _____________________ Abstraction and Closure in Computer Science Table of Contents Chapter 1 - Abstraction (Computer Science) Chapter 2 - Closure (Computer Science) Chapter 3 - Control Flow and Structured Programming Chapter 4 - Abstract Data Type and Object (Computer Science) Chapter 5 - Levels of Abstraction Chapter 6 - Anonymous Function WT _____________________ WORLD TECHNOLOGIES _____________________ Advanced Linux Operating Systems Table of Contents Chapter 1 - Introduction to Linux Chapter 2 - Linux Kernel Chapter 3 - History of Linux Chapter 4 - Linux Adoption Chapter 5 - Linux Distribution Chapter 6 - SCO-Linux Controversies Chapter 7 - GNU/Linux Naming Controversy Chapter 8 -WT Criticism of Desktop Linux _____________________ WORLD TECHNOLOGIES _____________________ Advanced Software Testing Table of Contents Chapter 1 - Software Testing Chapter 2 - Application Programming Interface and Code Coverage Chapter 3 - Fault Injection and Mutation Testing Chapter 4 - Exploratory Testing, Fuzz Testing and Equivalence Partitioning Chapter 5
    [Show full text]
  • Archaeology of the Amsterdam Digital City; Why Digital Data Are Dynamic and Should Be Treated Accordingly
    UvA-DARE (Digital Academic Repository) Archaeology of the Amsterdam digital city; why digital data are dynamic and should be treated accordingly Alberts, G.; Went, M.; Jansma, R. DOI 10.1080/24701475.2017.1309852 Publication date 2017 Document Version Final published version Published in Internet Histories: Digital Technology, Culture and Society License CC BY-NC-ND Link to publication Citation for published version (APA): Alberts, G., Went, M., & Jansma, R. (2017). Archaeology of the Amsterdam digital city; why digital data are dynamic and should be treated accordingly. Internet Histories: Digital Technology, Culture and Society , 1(1-2), 146-159 . https://doi.org/10.1080/24701475.2017.1309852 General rights It is not permitted to download or to forward/distribute the text or part of it without the consent of the author(s) and/or copyright holder(s), other than for strictly personal, individual use, unless the work is under an open content license (like Creative Commons). Disclaimer/Complaints regulations If you believe that digital publication of certain material infringes any of your rights or (privacy) interests, please let the Library know, stating your reasons. In case of a legitimate complaint, the Library will make the material inaccessible and/or remove it from the website. Please Ask the Library: https://uba.uva.nl/en/contact, or a letter to: Library of the University of Amsterdam, Secretariat, Singel 425, 1012 WP Amsterdam, The Netherlands. You will be contacted as soon as possible. UvA-DARE is a service provided by the library of the University of Amsterdam (https://dare.uva.nl) Download date:28 Sep 2021 INTERNET HISTORIES, 2017 VOL.
    [Show full text]
  • Reverse Engineering and the Archaeology of the Modern World
    Forum Kritische Archäologie 5 (2016) Streitraum: Reverse Engineering Reverse engineering and the archaeology of the modern world Gabriel Moshenska Zitiervorschlag Gabriel Moshenska. 2016. Reverse engineering and the archaeology of the modern world. Forum Kritische Archäologie 5:16-28. URI http://www.kritischearchaeologie.de/repositorium/fka/2016_5_2_Moshenska.pdf DOI 10.6105/journal.fka.2016.5.2 ISSN 2194-346X Dieser Beitrag steht unter der Creative Commons Lizenz CC BY-NC-ND 4.0 (Namensnennung – Nicht kommer- ziell – Keine Bearbeitung) International. Sie erlaubt den Download und die Weiterverteilung des Werkes / Inhaltes unter Nennung des Namens des Autors, jedoch keinerlei Bearbeitung oder kommerzielle Nutzung. Weitere Informationen zu der Lizenz finden Sie unter: http://creativecommons.org/licenses/by-nc-nd/4.0/deed.de. Forum Kritische Archäologie 5 (2016) Streitraum: Reverse Engineering Reverse engineering and the archaeology of the modern world Gabriel Moshenska UCL Institute of Archaeology Abstract This paper explores the practical and conceptual connections between the archaeology of post-industrial socie- ties and the process of reverse engineering. It explores common themes such as industrial decline, the loss of tech- nical expertise, and the growing problem of obsolescence both in technological infrastructure and in the manage- ment of digital data. To illuminate the connections between the two fields it considers several examples. These include the implicit applications of reverse engineering in archaeology, such as chemical analyses of Egyptian mummification and alchemical equipment, as well as the use of archaeological concepts and terminologies in re- verse engineering. The concept of archaeology as reverse engineering is examined with regard to military aircraft, post-industrial landscapes and so-called ‘non-places’.
    [Show full text]
  • The Agile Planning Horizon in Professional Software Development
    $40 The Agile Planning Horizon in Professional Software Development Managing at the dynamic boundary where business necessities meet software development realities. David A. Penny, Ph.D. 15 September, 2012 (12th edition) Exclusive use of this document for csc444h at the University of Toronto, winter term 2015, has been granted by the author. Copyright © 2012 by David A. Penny © 2012 by Dr. David A. Penny, Toronto, Ontario, Canada All rights reserved. No part of this book may be reproduced, in any form or by any means, without permission in writing from the author. Exclusive use of this document for csc444h at the University of Toronto, winter term 2015, has been granted by the author. ii Copyright © 2012 by David A. Penny ABOUT THE AUTHOR Dr. Penny has had a mixed industrial and academic career spanning over 25 years involvement in software development. As a Ph.D. student at the University of Toronto specializing in languages, operating systems, and software engineering, Dr. Penny was involved in software production initiatives including chemical-physics simulation software, robotic control software, variable-precision numeric libraries, language run-time environments, the Object-Oriented Turing IDE, the Mini Tunis teaching operating system, the Software Landscape, a program verification system, and the Polyx multi- processor operating system. Following graduation, Dr. Penny took a position at IBM working on an integrated development environment for C++ on the AIX platform. Dr. Penny then joined Algorithmics Incorporated becoming its CTO and VP Software Development. He led the development of RiskWatch™, the industry's leading middle-office financial risk management software for global banks, and related products.
    [Show full text]
  • How Are Conceptual Models Used in Industrial Software Development? a Descriptive Survey
    How are Conceptual Models used in Industrial Software Development? A Descriptive Survey Harald Störrle QAware GmbH München, Germany [email protected] ABSTRACT [18, p. v] in the context of the Model Driven Engineering (MDE)1 Background: There is a controversy about the relevance, role, and paradigm which, they believe, “has the potential to greatly reduce utility of models, modeling, and modeling languages in industry. development time”, and “will help us develop better software systems For instance, while some consider UML as the “lingua franca of faster.” [6, p. 8]. Furthermore, they claim that “MDA is not a vision of software engineering”, others claim that “the majority [of industry some future [...] it has already proven itself many times over in diverse practitioners] simply do not use UML.” application domains” (ibid). Note that this quote is from 2004. Objective: We aspire to evolve this debate to differentiate the cir- However, Mohagheghi and Dehlen famously asked “Where is the cumstances of modeling, and the degrees of formality of models. proof?” in their 2008 landmark paper [29]. Even MDA-supporters Method: We have conducted an online survey among industry had to admit that “adoption of this approach has been surprisingly practitioners and asked them how and for what purposes they use slow” [38, p. 513]. Various contributions have since studied success models. The raw (anonymized) survey data is published online. cases and failure cases of MDA adoption in an attempt to explain ex- Results: We find that models are widely used in industry, and actly when and why MDA projects fail or succeed [20–22; 41; 42]).
    [Show full text]
  • Using Software Archaeology to Measure Knowledge Loss in Software Projects Due to Developer Turnover ∗
    Proceedings of the 42nd Hawaii International Conference on System Sciences - 2009 Using Software Archaeology To Measure Knowledge Loss in Software Projects Due To Developer Turnover ∗ Daniel Izquierdo-Cortazar, Gregorio Robles, Felipe Ortega and Jesus M. Gonzalez-Barahona GSyC/LibreSoft Universidad Rey Juan Carlos (Madrid, Spain) dizquierdo, grex, jfelipe, jgb @gsyc.escet.urjc.es { } Abstract The lifespan of a software system can range from sev- eral years to decades. In such scenarios, the develop- Developer turnover can result in a major problem ment team in charge of the software may suffer from when developing software. When senior developers turnover: old developers leave while new developers abandon a software project, they leave a knowledge gap join the project. With the abandonment of old, senior that has to be managed. In addition, new (junior) devel- developers, projects lose human resources experienced opers require some time in order to achieve the desired both with the details of the software system and with the level of productivity. In this paper, we present a method- organizational and cultural circumstances of the project. ology to measure the effect of knowledge loss due to de- New developers will need some time to become famil- veloper turnover in software projects. For a given soft- iar with both issues. In this regard, the time for volun- ware project, we measure the quantity of code that has teers to become core contributors to FLOSS 1 projects been authored by developers that do not belong to the has been measured to be 30 months in mean, since their current development team, which we define as orphaned first contribution [11].
    [Show full text]