Software Project Longevity – a Case Study on Open Source Software Development Projects

Total Page:16

File Type:pdf, Size:1020Kb

Software Project Longevity – a Case Study on Open Source Software Development Projects Die approbierte Originalversion dieser Diplom-/ Masterarbeit ist in der Hauptbibliothek der Tech- nischen Universität Wien aufgestellt und zugänglich. http://www.ub.tuwien.ac.at The approved original version of this diploma or master thesis is available at the main library of the Vienna University of Technology. http://www.ub.tuwien.ac.at/eng Software Project Longevity – A Case Study on Open Source Software Development Projects MAGISTERARBEIT zur Erlangung des akademischen Grades Magister der Sozial- und Wirtschaftswissenschaften im Rahmen des Studiums Wirtschaftsinformatik eingereicht von Bernhard Kiselka Matrikelnummer 0125881 an der Fakultät für Informatik der Technischen Universität Wien Betreuung Betreuer: Ao.Univ.Prof. Dipl.-Ing. Mag. Mag.rer.soc.oec. Dr.techn. Stefan Biffl Mitwirkung: Projektass. Dipl.-Ing. Dietmar Winkler Wien, 30.11.2015 (Unterschrift Verfasser) (Unterschrift Betreuer) Technische Universität Wien A-1040 Wien ▪ Karlsplatz 13 ▪ Tel. +43-1-58801-0 ▪ www.tuwien.ac.at Bernhard Kiselka 0125881, 066 926 Master Thesis Software Project and Product Longevity A Case Study on Open Source Software Development Projects E-Mail: [email protected] Phone: 0664/33 23 269 Date: 2015-11-30 For Raphaël - Für Raphaël Software Project Longevity – A Case Study on Open Source Software Projects Contents Contents............................................................................................................................. i Erklärung zur Verfassung der Arbeit..................................................................................iii Abstract............................................................................................................................ iv Kurzfassung ...................................................................................................................... v Acknowledgements .......................................................................................................... vi Danksagung.....................................................................................................................vii List of Tables...................................................................................................................viii List of Figures................................................................................................................... ix 1 Introduction................................................................................................................. 1 1.1 Methodology.........................................................................................................1 1.2 Definitions ............................................................................................................ 2 1.3 Motivation and Problem Definition ........................................................................ 3 1.4 Content of the Work..............................................................................................4 2 Related Work.............................................................................................................. 5 2.1 Process Models....................................................................................................5 2.1.1 Linear Process Models................................................................................... 7 2.1.2 Cyclic Process Models ................................................................................... 9 2.1.3 Light Weight Process Models....................................................................... 11 2.2 Quality Models.................................................................................................... 13 2.2.1 Quality Assurance Models............................................................................ 13 2.2.2 Health Indicators.......................................................................................... 16 2.3 Frameworks for Measuring OSS Projects........................................................... 17 3 Research Issues....................................................................................................... 20 4 Solution Approach .................................................................................................... 23 4.1 Identification of quality attributes......................................................................... 25 4.2 Concept of the Framework for Measuring Project Longevity............................... 27 4.3 Concept for Evaluation of the Framework........................................................... 28 5 Systematic Literature Review on Quality Attributes, Metrics and Tools ..................... 30 5.1 Systematic Literature Research.......................................................................... 30 Bernhard Kiselka - i - Contents Software Project Longevity – A Case Study on Open Source Software Projects 5.2 Metrics................................................................................................................ 33 5.3 Tools .................................................................................................................. 36 5.4 Summary............................................................................................................ 39 6 Tool Selection Process ............................................................................................. 41 6.1 Tool Study Setting .............................................................................................. 41 6.2 Tool Study .......................................................................................................... 45 6.3 Results and Tool Selection................................................................................. 46 7 Framework for Longevity Evaluation ......................................................................... 48 7.1 Combination of Tools.......................................................................................... 48 7.2 Metrics Selection ................................................................................................ 49 8 Feasibility Study........................................................................................................ 52 8.1 Open Source Software ....................................................................................... 52 8.1.1 Free Software .............................................................................................. 52 8.1.2 Open Source................................................................................................ 53 8.2 Project Selection ................................................................................................ 58 8.3 Feasibility Study ................................................................................................. 60 8.4 Results ............................................................................................................... 65 9 Case Study ............................................................................................................... 67 10 Discussion ............................................................................................................. 68 11 Conclusions........................................................................................................... 70 12 Appendix ............................................................................................................... 71 12.1 Literature References...................................................................................... 71 12.2 SLR References.............................................................................................. 74 12.3 Results of SLR on Health Indicators................................................................ 80 12.3.1 List of all projects found ............................................................................ 80 12.3.2 List of all metrics found ............................................................................. 82 12.3.3 List of all tools found ................................................................................. 90 12.4 Results of Tool Evaluation............................................................................... 92 12.4.1 Pre-selection using Mandatory Requirements........................................... 92 12.4.2 Tool Selection Results .............................................................................. 94 Bernhard Kiselka - ii - Contents Software Project Longevity – A Case Study on Open Source Software Projects Erklärung zur Verfassung der Arbeit Bernhard Kiselka, Friedrich Schiller-Straße 79b/7/3, 2340 Mödling „Hiermit erkläre ich, dass ich diese Arbeit selbständig verfasst habe, dass ich die verwendeten Quellen und Hilfsmittel vollständig angegeben habe und dass ich die Stellen der Arbeit – einschließlich Tabellen, Karten und Abbildungen –, die anderen Werken oder dem Internet im Wortlaut oder dem Sinn nach entnommen sind, auf jeden Fall unter Angabe der Quelle als Entlehnung kenntlich gemacht habe.“ Mödling, 30.11.2015 Bernhard Kiselka - iii - Erklärung zur Verfassung der Arbeit Software Project Longevity – A Case Study on Open Source Software Projects Abstract Metrics on Software Projects measure the past and the status quo. The question if an information system will still be usable in the future is not really answered. On the contrary longevity is seen as an important design issue. Optimally, we want to measure software product longevity right from the start of a project, not in the end when
Recommended publications
  • SDL Livecontent S1000D Delivery Server Installation and Upgrade Manual
    SDL LiveContent S1000D Delivery Server Installation and Upgrade Manual SDL LiveContent S1000D 5.6 January 2018 Legal notice Copyright and trademark information relating to this product release. Copyright © 2009–2018 SDL Group. SDL Group means SDL PLC. and its subsidiaries and affiliates. All intellectual property rights contained herein are the sole and exclusive rights of SDL Group. All references to SDL or SDL Group shall mean SDL PLC. and its subsidiaries and affiliates details of which can be obtained upon written request. All rights reserved. Unless explicitly stated otherwise, all intellectual property rights including those in copyright in the content of this website and documentation are owned by or controlled for these purposes by SDL Group. Except as otherwise expressly permitted hereunder or in accordance with copyright legislation, the content of this site, and/or the documentation may not be copied, reproduced, republished, downloaded, posted, broadcast or transmitted in any way without the express written permission of SDL. LiveContent S1000D is a registered trademark of SDL Group. All other trademarks are the property of their respective owners. The names of other companies and products mentioned herein may be the trademarks of their respective owners. Unless stated to the contrary, no association with any other company or product is intended or should be inferred. This product may include open source or similar third-party software, details of which can be found by clicking the following link: “Acknowledgments ” on page 15. Although SDL Group takes all reasonable measures to provide accurate and comprehensive information about the product, this information is provided as-is and all warranties, conditions or other terms concerning the documentation whether express or implied by statute, common law or otherwise (including those relating to satisfactory quality and fitness for purposes) are excluded to the extent permitted by law.
    [Show full text]
  • Return of Organization Exempt from Income
    OMB No. 1545-0047 Return of Organization Exempt From Income Tax Form 990 Under section 501(c), 527, or 4947(a)(1) of the Internal Revenue Code (except black lung benefit trust or private foundation) Open to Public Department of the Treasury Internal Revenue Service The organization may have to use a copy of this return to satisfy state reporting requirements. Inspection A For the 2011 calendar year, or tax year beginning 5/1/2011 , and ending 4/30/2012 B Check if applicable: C Name of organization The Apache Software Foundation D Employer identification number Address change Doing Business As 47-0825376 Name change Number and street (or P.O. box if mail is not delivered to street address) Room/suite E Telephone number Initial return 1901 Munsey Drive (909) 374-9776 Terminated City or town, state or country, and ZIP + 4 Amended return Forest Hill MD 21050-2747 G Gross receipts $ 554,439 Application pending F Name and address of principal officer: H(a) Is this a group return for affiliates? Yes X No Jim Jagielski 1901 Munsey Drive, Forest Hill, MD 21050-2747 H(b) Are all affiliates included? Yes No I Tax-exempt status: X 501(c)(3) 501(c) ( ) (insert no.) 4947(a)(1) or 527 If "No," attach a list. (see instructions) J Website: http://www.apache.org/ H(c) Group exemption number K Form of organization: X Corporation Trust Association Other L Year of formation: 1999 M State of legal domicile: MD Part I Summary 1 Briefly describe the organization's mission or most significant activities: to provide open source software to the public that we sponsor free of charge 2 Check this box if the organization discontinued its operations or disposed of more than 25% of its net assets.
    [Show full text]
  • J2EE Development Standards
    Indiana University J2EE Development Standards University Information Systems September 2004 Version 1.4 Table of Contents Introduction............................................................................................................... 3 Methodology..............................................................................................................6 Architecture...............................................................................................................12 Coding Conventions..................................................................................................18 Standard Libraries ....................................................................................................20 Tools ..........................................................................................................................21 Development Platform ..............................................................................................22 Shared Services .........................................................................................................23 Deployment................................................................................................................24 References and Links................................................................................................26 Appendices.................................................................................................................28 J2EE Development Standards v1.4 - 2 - J2EE Development Standards: Introduction
    [Show full text]
  • A Machine Learning Approach Towards Automatic Software Design Pattern Recognition Across Multiple Programming Languages
    ICSEA 2020 : The Fifteenth International Conference on Software Engineering Advances A Machine Learning Approach Towards Automatic Software Design Pattern Recognition Across Multiple Programming Languages Roy Oberhauser[0000-0002-7606-8226] Computer Science Dept. Aalen University Aalen, Germany e-mail: [email protected] Abstract—As the amount of software source code increases, languages of programmers that affect naming, tribal manual approaches for documentation or detection of software community effects, the programmer's (lack of) knowledge of design patterns in source code become inefficient relative to the these patterns and use of (proper) naming and notation or value. Furthermore, typical automatic pattern detection tools markers, make it difficult to identify pattern usage by experts are limited to a single programming language. To address this, or tooling. While many code repositories are accessible to our Design Pattern Detection using Machine Learning the public on the web, many more repositories are hidden (DPDML) offers a generalized and programming language within companies or other organizations and are not agnostic approach for automated design pattern detection necessarily accessible for analysis. While determining actual based on Machine Learning (ML). The focus of our evaluation pattern usage is beneficial for identifying which patterns are was on ensuring DPDML can reasonably detect one design used where and can help avoid unintended pattern pattern in the structural, creational, and behavioral category for two popular programming languages (Java and C#). 60 degradation and associated technical debt and quality issues, unique Java and C# code projects were used to train the the investment necessary for manual pattern extraction, artificial neural network (ANN) and 15 projects were then recovery, and archeology is not economically viable.
    [Show full text]
  • Javaedge Setup and Installation
    APPENDIX A ■ ■ ■ JavaEdge Setup and Installation Throughout the book, we have used the example application, JavaEdge, to provide a practical demonstration of all the features discussed. In this appendix, we will walk you through setting up the tools and applications required to build and run JavaEdge, as well as take you through the steps needed to get the JavaEdge application running on your platform. Environment Setup Before you can get started with the JavaEdge application, you need to configure your platform to be able to build and run JavaEdge. Specifically, you need to configure Apache Ant in order to build the JavaEdge application and package it up for deployment. In addition, the JavaEdge application is designed to run on a J2EE application server and to use MySQL as the back-end database. You also need to have a current JDK installed; the JavaEdge application relies on JVM version 1.5 or higher, so make sure your JDK is compatible. We haven’t included instruc- tions for this here, since we are certain that you will already have a JDK installed if you are reading this book. However, if you do need to download one, you can find it at http://java. sun.com/j2se/1.5.0/download.jsp. Installing MySQL The JavaEdge application uses MySQL as the data store for all user, story, and comment data. If you don’t already have the MySQL database server, then you need to obtain the version applicable to your platform. You can obtain the latest production binary release of MySQL for your platform at http://www.mysql.com.
    [Show full text]
  • Full-Graph-Limited-Mvn-Deps.Pdf
    org.jboss.cl.jboss-cl-2.0.9.GA org.jboss.cl.jboss-cl-parent-2.2.1.GA org.jboss.cl.jboss-classloader-N/A org.jboss.cl.jboss-classloading-vfs-N/A org.jboss.cl.jboss-classloading-N/A org.primefaces.extensions.master-pom-1.0.0 org.sonatype.mercury.mercury-mp3-1.0-alpha-1 org.primefaces.themes.overcast-${primefaces.theme.version} org.primefaces.themes.dark-hive-${primefaces.theme.version}org.primefaces.themes.humanity-${primefaces.theme.version}org.primefaces.themes.le-frog-${primefaces.theme.version} org.primefaces.themes.south-street-${primefaces.theme.version}org.primefaces.themes.sunny-${primefaces.theme.version}org.primefaces.themes.hot-sneaks-${primefaces.theme.version}org.primefaces.themes.cupertino-${primefaces.theme.version} org.primefaces.themes.trontastic-${primefaces.theme.version}org.primefaces.themes.excite-bike-${primefaces.theme.version} org.apache.maven.mercury.mercury-external-N/A org.primefaces.themes.redmond-${primefaces.theme.version}org.primefaces.themes.afterwork-${primefaces.theme.version}org.primefaces.themes.glass-x-${primefaces.theme.version}org.primefaces.themes.home-${primefaces.theme.version} org.primefaces.themes.black-tie-${primefaces.theme.version}org.primefaces.themes.eggplant-${primefaces.theme.version} org.apache.maven.mercury.mercury-repo-remote-m2-N/Aorg.apache.maven.mercury.mercury-md-sat-N/A org.primefaces.themes.ui-lightness-${primefaces.theme.version}org.primefaces.themes.midnight-${primefaces.theme.version}org.primefaces.themes.mint-choc-${primefaces.theme.version}org.primefaces.themes.afternoon-${primefaces.theme.version}org.primefaces.themes.dot-luv-${primefaces.theme.version}org.primefaces.themes.smoothness-${primefaces.theme.version}org.primefaces.themes.swanky-purse-${primefaces.theme.version}
    [Show full text]
  • Running Apache FOP
    Running Apache FOP $Revision: 533992 $ Table of contents 1 System Requirements...............................................................................................................2 2 Installation................................................................................................................................2 2.1 Instructions.......................................................................................................................... 2 2.2 Problems..............................................................................................................................2 3 Starting FOP as a Standalone Application...............................................................................3 3.1 Using the fop script or batch file......................................................................................... 3 3.2 Writing your own script.......................................................................................................5 3.3 Running with java's -jar option............................................................................................5 3.4 FOP's dynamical classpath construction............................................................................. 5 4 Using Xalan to Check XSL-FO Input......................................................................................5 5 Memory Usage.........................................................................................................................6 6 Problems.................................................................................................................................
    [Show full text]
  • Comparison of Static Analysis Tools for Quality Measurement of RPG Programs
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by SZTE Publicatio Repozitórium - SZTE - Repository of Publications Comparison of Static Analysis Tools for Quality Measurement of RPG Programs Zolt´anT´oth1, L´aszl´oVid´acs2, and Rudolf Ferenc1 1 Department of Software Engineering, University of Szeged, Hungary [email protected], [email protected] 2 MTA-SZTE Research Group on Artificial Intelligence, Hungary [email protected] Abstract. The RPG programming language is a popular language em- ployed widely in IBM i mainframes nowadays. Legacy mainframe systems that evolved and survived the past decades usually data intensive and even business critical applications. Recent, state of the art quality assur- ance tools are mostly focused on popular languages like Java, C++ or Python. In this work we compare two source code based quality man- agement tools for the RPG language. The study is focused on the data obtained using static analysis, which is then aggregated to higher level quality attributes. SourceMeter is a command line tool-chain capable to measure various source attributes like metrics and coding rule viola- tions. SonarQube is a quality management platform with RPG language support. To facilitate the objective comparison, we used the SourceMe- ter for RPG plugin for SonarQube, which seamlessly integrates into the framework extending its capabilities. The evaluation is built on analysis success and depth, source code metrics, coding rules and code duplica- tions. We found that SourceMeter is more advanced in analysis depth, product metrics and finding duplications, while their performance of cod- ing rules and analysis success is rather balanced.
    [Show full text]
  • Mastering Spam a Multifaceted Approach with the Spamato Spam Filter System
    DISS. ETH NO. 16839 Mastering Spam A Multifaceted Approach with the Spamato Spam Filter System A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of Sciences presented by KENO ALBRECHT Dipl. Inf. born June 4, 1977 citizen of Germany accepted on the recommendation of Prof. Dr. Roger Wattenhofer, examiner Prof. Dr. Gordon V. Cormack, co-examiner Prof. Dr. Christof Fetzer, co-examiner 2006 Abstract Email is undoubtedly one of the most important applications used to com- municate over the Internet. Unfortunately, the email service lacks a crucial security mechanism: It is possible to send emails to arbitrary people with- out revealing one’s own identity. Additionally, sending millions of emails costs virtually nothing. Hence over the past years, these characteristics have facilitated and even boosted the formation of a new business branch that advertises products and services via unsolicited bulk emails, better known as spam. Nowadays, spam makes up more than 50% of all emails and thus has become a major vexation of the Internet experience. Although this problem has been dealt with for a long time, only little success (measured on a global scale) has been achieved so far. Fighting spam is a cat and mouse game where spammers and anti-spammers regularly beat each other with sophisticated techniques of increasing complexity. While spammers try to bypass existing spam filters, anti-spammers seek to detect and block new spamming tricks as soon as they emerge. In this dissertation, we describe the Spamato spam filter system as a mul- tifaceted approach to help regain a spam-free inbox.
    [Show full text]
  • Third-Party Software Usage and Licenses
    Oracle® Endeca Information Discovery Studio Third-Party Software Usage and Licenses Version 3.1.0 • October 2013 Copyright and disclaimer Copyright © 2003, 2014, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. UNIX is a registered trademark of The Open Group. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency- specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.
    [Show full text]
  • Abkürzungs-Liste ABKLEX
    Abkürzungs-Liste ABKLEX (Informatik, Telekommunikation) W. Alex 1. Juli 2021 Karlsruhe Copyright W. Alex, Karlsruhe, 1994 – 2018. Die Liste darf unentgeltlich benutzt und weitergegeben werden. The list may be used or copied free of any charge. Original Point of Distribution: http://www.abklex.de/abklex/ An authorized Czechian version is published on: http://www.sochorek.cz/archiv/slovniky/abklex.htm Author’s Email address: [email protected] 2 Kapitel 1 Abkürzungen Gehen wir von 30 Zeichen aus, aus denen Abkürzungen gebildet werden, und nehmen wir eine größte Länge von 5 Zeichen an, so lassen sich 25.137.930 verschiedene Abkür- zungen bilden (Kombinationen mit Wiederholung und Berücksichtigung der Reihenfol- ge). Es folgt eine Auswahl von rund 16000 Abkürzungen aus den Bereichen Informatik und Telekommunikation. Die Abkürzungen werden hier durchgehend groß geschrieben, Akzente, Bindestriche und dergleichen wurden weggelassen. Einige Abkürzungen sind geschützte Namen; diese sind nicht gekennzeichnet. Die Liste beschreibt nur den Ge- brauch, sie legt nicht eine Definition fest. 100GE 100 GBit/s Ethernet 16CIF 16 times Common Intermediate Format (Picture Format) 16QAM 16-state Quadrature Amplitude Modulation 1GFC 1 Gigabaud Fiber Channel (2, 4, 8, 10, 20GFC) 1GL 1st Generation Language (Maschinencode) 1TBS One True Brace Style (C) 1TR6 (ISDN-Protokoll D-Kanal, national) 247 24/7: 24 hours per day, 7 days per week 2D 2-dimensional 2FA Zwei-Faktor-Authentifizierung 2GL 2nd Generation Language (Assembler) 2L8 Too Late (Slang) 2MS Strukturierte
    [Show full text]
  • Incremental Static Analysis of Large Source Code Repositories
    Budapest University of Technology and Economics Faculty of Electrical Engineering and Informatics Department of Measurement and Information Systems Incremental Static Analysis of Large Source Code Repositories Bachelor’s Thesis Author Advisors Dániel Stein Gábor Szárnyas, PhD Student Dr. István Ráth, Research Fellow 2014 Contents Kivonat i Abstract ii 1 Introduction 1 1.1 Context ..................................... 1 1.2 Problem Statement and Requirements .................... 2 1.3 Objectives and Contributions ......................... 2 1.4 Structure of the Thesis ............................. 3 2 Background and Related Work 4 2.1 Big Data and the NoSQL Movement ..................... 4 2.1.1 Sharding ................................ 5 2.1.2 High Availability ............................ 5 2.1.3 4store .................................. 6 2.1.4 Query Languages and Evaluation Strategies ............. 6 2.2 Modeling .................................... 7 2.2.1 Metamodels and Instance Models ................... 8 2.2.2 The Eclipse Modeling Framework .................. 8 2.2.3 JaMoPP ................................. 9 2.2.4 Graph Data Models ........................... 10 2.2.5 Model Queries over EMF and RDF .................. 13 2.3 Static Analysis in Practice ........................... 14 2.3.1 Checkstyle ............................... 14 2.3.2 FindBugs ................................ 15 2.3.3 PMD ................................... 15 2.4 Well-formedness Checking over Code Models ................ 16 3 Overview of the Approach 18
    [Show full text]