A process practice to validate the quality of reused component documentation: a case study involving open-source components

The poor quality of the documentation of some reused components can jeopardize the success of a project. This paper aims to assess the impact of reused components documentation quality on the effort required to complete a software evolution project and to propose a process practice to reduce the risk associated to the integration of reused components. A case study is based on data gathered from a capstone project requiring a total effort of roughly 1800 person-hours. Participant activities are self-recorded on an hourly basis. The main issues are related to imprecise and inaccurate documentation of the reused open-source components and the extra effort required dealing with these flaws. To maximize components reuse benefits, it is recommended to add a process practice enforcing early reusable components validation. This new practice would provide feedback to the software architect regarding the quality of the selected reused components.

[1]  Curtis R. Cook,et al.  An overview of industrial software documentation practice , 2002, 12th International Conference of the Chilean Computer Science Society, 2002. Proceedings..

[2]  Shihong Huang,et al.  Documenting software systems with views II: an integrated approach based on XML , 2001, SIGDOC '01.

[3]  Claes Wohlin,et al.  Using Students as Subjects—A Comparative Study of Students and Professionals in Lead-Time Impact Assessment , 2000, Empirical Software Engineering.

[4]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[5]  Naji Habra,et al.  Validity of the Documentation Availability Model: Experimental Definition of Quality Interpretation , 2010, CAiSE.

[6]  Morgan Ericsson,et al.  A Metrics-Based Approach to Technical Documentation Quality , 2010, 2010 Seventh International Conference on the Quality of Information and Communications Technology.

[7]  Pierre N. Robillard,et al.  Knowledge Conversion in Software Development , 2007, SEKE.

[8]  Shihong Huang,et al.  Towards a documentation maturity model , 2003, SIGDOC '03.

[9]  Jeffrey C. Carver,et al.  Issues in using students in empirical studies in software engineering education , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

[10]  Scott R. Tilley,et al.  Documenting software systems with views VI: lessons learned from 15 years of research & practice , 2009, SIGDOC '09.

[11]  Giancarlo Succi,et al.  An empirical study of open-source and closed-source software products , 2004, IEEE Transactions on Software Engineering.

[12]  Thomas Zimmermann,et al.  How documentation evolves over time , 2007, IWPSE '07.

[13]  Janne Merilinna,et al.  State of the art and practice of open source component integration , 2006 .

[14]  Janne Merilinna,et al.  State of the Art and Practice of OpenSource Component Integration , 2006, 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO'06).

[15]  Pierre N. Robillard,et al.  Exploring Knowledge Flow in Software Project Development , 2009, 2009 International Conference on Information, Process, and Knowledge Management.

[16]  Nicolas Anquetil,et al.  A study of the documentation essential to software maintenance , 2005, SIGDOC '05.

[17]  Janice Singer,et al.  Studying Software Engineers: Data Collection Techniques for Software Field Studies , 2005, Empirical Software Engineering.

[18]  Timothy Lethbridge,et al.  The relevance of software documentation, tools and technologies: a survey , 2002, DocEng '02.

[19]  W. D. Perreault,et al.  Reliability of Nominal Data Based on Qualitative Judgments , 1989 .

[20]  Andreas Rüping,et al.  Agile Documentation: A Pattern Guide to Producing Lightweight Documents for Software Projects , 2003 .

[21]  Lars Heinemann,et al.  Understanding API Usage to Support Informed Decision Making in Software Maintenance , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[22]  Yogesh Singh,et al.  Software reusability assessment using soft computing techniques , 2011, SOEN.

[23]  Dirk Muthig,et al.  A view-based approach for improving software documentation practices , 2006, 13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06).

[24]  I. Sommerville Software Documentation Process and Product Documentation Process Documentation Product Documentation Figure 1: Different Types of User Documentation Document Structure , 2001 .

[25]  Adam A. Porter,et al.  Comparing Detection Methods For Software Requirements Inspections: A Replication Using Professional Subjects , 1998, Empirical Software Engineering.

[26]  Pierre N. Robillard,et al.  Engineering-based processes and agile methodologies for software development: a comparative case study , 2005, J. Syst. Softw..

[27]  Stefan Koch,et al.  Evolution of Open Source Software Systems - A Large-Scale Investigation , 2005 .

[28]  Lionel C. Briand,et al.  Software documentation: how much is enough? , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..