Evaluation of Maintenance Processes in Open Source Software Projects Through Defect and Version Management Systems

While Open Source Software (OSS) is becoming more widespread and popular, its maintenance has become an important issue. However, several aspects of Open Source Software maintenance are unclear; for example, maintenance processes are usually described briefly in the project documentation and the descriptions are very informal and inaccurate. Several earlier studies have examined Open Source Software projects (OSSPs) but they have not provided information about maintenance because they have concentrated on several other aspects such as development and community models. Therefore, in this thesis we study the maintenance of Open Source Software. First, we present an evaluation framework for Open Source Software that can be used to create a general overview of the software, project and related services. From the viewpoint of the software, we cover attributes such as the type of software and intended audience. From the project viewpoint, we cover aspects of the development model and management systems. Since most OSSPs do not provide services to users, it is reasonable to cover external service providers. Second, we present an Open Source Software maintenance process framework. It was developed by studying maintenance activities and the project documents in OSSPs and using ISO/IEC and IEEE standards for software maintenance as a guideline. As a result of this, we noticed that from the theoretical viewpoint the maintenance processes in OSSPs are quite similar to those in the standards. However, maintenance activities may not be performed as described in the project documents. Therefore, we decided to identify attributes and metrics that could be used to measure maintenance processes in the real world. Third, we present an evaluation framework for Open Source Software maintenance that can be used to study OSS maintenance processes through defect reports and software change histories by using defect management systems (DMS) and version management systems (VMS) as data sources. While those systems provide more than enough data about maintenance processes, data retrieval can become a problem. One OSSP can have over 35000 defect reports and 7000 changes in the source code, so manual retrieval and evaluation of the data is not a realistic option. Therefore, we developed an automatic tool, Remote analysis System for Open Source Software (RaSOSS), for data retrieval and analysis. The main contributions of this thesis are these three frameworks and RaSOSS. Universal Decimal Classification: 004.413, 004.415.5 Inspec Thesaurus: computer software; public domain software; software maintenance; software management; project management; system documentation; software standards; error analysis; error handling; data analysis

[1]  Staðlaráð Íslands,et al.  Gæðastjórnunarkerfi : grunnatriði og íðorðasafn = Quality Management Systems : fundamentals and vocabulary. , 2006 .

[2]  Andreas Zeller,et al.  When do changes induce fixes? , 2005, ACM SIGSOFT Softw. Eng. Notes.

[3]  Maurizio Morisio,et al.  Characteristics of open source projects , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[4]  Diomidis Spinellis Version Control Systems , 2005, IEEE Softw..

[5]  Eugene Miya,et al.  On "Software engineering" , 1985, SOEN.

[6]  Eric Lease Morgan,et al.  Review of The Cathedral & the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary by Eric S. Raymond, Sebastopol, Calif.: O'Reilly, 1999 , 2000 .

[7]  Patricia Lago,et al.  Characterizing the OSS process , 2002 .

[8]  J. Herbsleb,et al.  Two case studies of open source software development: Apache and Mozilla , 2002, TSEM.

[9]  Timo Koponen,et al.  RaSOSS - Remote Analysis System for Open Source Software , 2006, 2006 International Conference on Software Engineering Advances (ICSEA'06).

[10]  Piergiorgio Di Giacomo,et al.  COTS and Open Source Software Components: Are They Really Different on the Battlefield? , 2005, ICCBSS.

[11]  Donald K. Rosenberg Open Source: The Unauthorized White Papers , 2000 .

[12]  Xavier Ferré,et al.  Software Process Modelling , 2001, ISAS-SCI.

[13]  Sunghun Kim,et al.  How long did it take to fix bugs? , 2006, MSR '06.

[14]  Kouichi Kishida,et al.  Evolution patterns of open-source software systems and communities , 2002, IWPSE '02.

[15]  Gregorio Robles,et al.  Remote analysis and measurement of libre software systems by means of the CVSAnalY tool , 2004, ICSE 2004.

[16]  Virpi Hotti,et al.  Evaluation Framework for Open Source Software , 2004, Software Engineering Research and Practice.

[17]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[18]  Timo Koponen Evaluation Framework for Open Source Software Maintenance , 2006, 2006 International Conference on Software Engineering Advances (ICSEA'06).

[19]  Michael A. Cusumano,et al.  How Microsoft builds software , 1997, CACM.

[20]  Ulf Asklund,et al.  A study of configuration management in open source software projects , 2002, IEE Proc. Softw..

[21]  Jan Sandred Managing Open Source Projects: A Wiley Tech Brief , 2001 .

[22]  Risto Honkanen Towards Optical Communication in Parallel Computing (Kohti optista kommunikaatiota rinnakkaislaskennassa) , 2006 .

[23]  Keith H. Bennett,et al.  Software maintenance and evolution: a roadmap , 2000, ICSE '00.

[24]  Giuliano Antoniol,et al.  Towards the Integration of CVS Repositories, Bug Reporting and Source Code Meta-Models , 2004 .

[25]  Jesús M. González-Barahona,et al.  GluTheos: Automating the Retrieval and Analysis of Data from Publicly Available Software Repositories , 2004, MSR.

[26]  Lawrence Rosen,et al.  Open Source Licensing: Software Freedom and Intellectual Property Law , 2004 .

[27]  Justin R. Erenkrantz Release Management Within Open Source Projects , 2003 .

[28]  Ulf Asklund,et al.  Configuration Management for Distributed Development in an Integrated Environment , 2002 .

[29]  Daniel M. Germán,et al.  Visualizing the Evolution of Software Using Softchange , 2006, Int. J. Softw. Eng. Knowl. Eng..

[30]  Barton C. Massey,et al.  Longitudinal analysis of long-timescale open source repository data , 2005, PROMISE@ICSE.

[31]  Les Gasser,et al.  Negotiation and the coordination of information and activity in distributed software problem management , 2005, GROUP.

[32]  Guido Hertel,et al.  Motivation of software developers in Open Source projects: an Internet-based survey of contributors to the Linux kernel , 2003 .

[33]  Eric S. Raymond,et al.  The cathedral and the bazaar - musings on Linux and Open Source by an accidental revolutionary , 2001 .

[34]  Alain Abran,et al.  The Guide to the Software Engineering Body of Knowledge , 1999, IEEE Softw..

[35]  Moshe Bar,et al.  Open Source Development with CVS , 1999 .

[36]  Mira Kajko-Mattsson,et al.  Applicability of IEEE 1219 within Correctiev Maintenance , 2006, 2006 International Conference on Software Engineering Advances (ICSEA'06).

[37]  Alexander L. Wolf,et al.  Automating Process Discovery through Event-Data Analysis , 1995, 1995 17th International Conference on Software Engineering.

[38]  K. Bauknecht,et al.  A Framework for Open Source Projects , 2002 .

[39]  Les Gasser,et al.  Scalable Automatic Extraction of Process Models for Understanding F/OSS Bug Repair , 2003 .

[40]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[41]  Stephen P. Berczuk,et al.  Streamed Lines: Branching Patterns for Parallel Software Development , 1998 .

[42]  Daniel German,et al.  Mining CVS repositories, the softChange experience , 2004, MSR.

[43]  Maurizio Morisio,et al.  Evidences in the evolution of OS projects through Changelog Analyses , 2003 .

[44]  J. Tirole,et al.  Some Simple Economics of Open Source , 2002 .

[45]  Chris DiBona,et al.  Open Sources: Voices from the Open Source Revolution , 1999 .

[46]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[47]  Penny Grubb,et al.  Software Maintenance: Concepts and Practice , 2003 .

[48]  Salvatore Mamone,et al.  The IEEE standard for software maintenance , 1994, SOEN.