A Feedback Based Quality Assessment to Support Open Source Software Evolution: the GRASS Case Study

Managing the software evolution for large open source software is a major challenge. Some factors that make software hard to maintain are geographically distributed development teams, frequent and rapid turnover of volunteers, absence of a formal means, and lack of documentation and explicit project planning. In this paper we propose remote and continuous analysis of open source software to monitor evolution using available resources such as CVS code repository, commitment log files and exchanged mail. Evolution monitoring relies on three principal services. The first service analyzes and monitors the increase in complexity and the decline in quality; the second supports distributed developers by sending them a feedback report after each contribution; the third allows developers to gain insight into the "big picture" of software by providing a dashboard of project evolution. Besides the description of provided services, the paper presents a prototype environment for continuous analysis of the evolution of GRASS, an open source software

[1]  Giuliano Antoniol,et al.  Analyzing cloning evolution in the Linux kernel , 2002, Inf. Softw. Technol..

[2]  Thomas Ball,et al.  Software Visualization in the Large , 1996, Computer.

[3]  Giuliano Antoniol,et al.  A Language-Independent Framework for Software Miniaturization , 2004 .

[4]  Michael Hucka,et al.  Programmer's Manual , 2004 .

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

[6]  A. Urmanov,et al.  Towards Dependability in Everyday Software Using Software Telemetry , 2006, Third IEEE International Workshop on Engineering of Autonomic & Autonomous Systems (EASE'06).

[7]  Douglas C. Schmidt,et al.  Skoll: distributed continuous quality assurance , 2004, Proceedings. 26th International Conference on Software Engineering.

[8]  Giuliano Antoniol,et al.  Modeling clones evolution through time series , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[9]  Michael W. Godfrey,et al.  Evolution in open source software: a case study , 2000, Proceedings 2000 International Conference on Software Maintenance.

[10]  Alessandro Orso,et al.  Applying classification techniques to remotely-collected program execution data , 2005, ESEC/FSE-13.

[11]  Stephen R. Schach,et al.  Maintainability of the Linux kernel , 2002, IEE Proc. Softw..

[12]  Alessandro Orso,et al.  Monitoring deployed software using software tomography , 2002, PASTE '02.

[13]  Walt Scacchi,et al.  Understanding Open Source Software Evolution: Applying, Breaking, and Rethinking the Laws of Software Evolution , 2003 .

[14]  Giuliano Antoniol,et al.  A language-independent software renovation framework , 2005, J. Syst. Softw..

[15]  Aniruddha S. Gokhale,et al.  Techniques and processes for improving the quality and performance of open-source software , 2006, Softw. Process. Improv. Pract..

[16]  Meir M. Lehman,et al.  Laws of Software Evolution Revisited , 1996, EWSPT.

[17]  Ettore Merlo,et al.  Assessing the benefits of incorporating function clone detection in a development process , 1997, 1997 Proceedings International Conference on Software Maintenance.

[18]  Giuliano Antoniol,et al.  Linear complexity object-oriented similarity for clone detection and software evolution analyses , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[19]  Chris F. Kemerer,et al.  An Empirical Approach to Studying Software Evolution , 1999, IEEE Trans. Software Eng..

[20]  Pierre Poulin,et al.  Visualization-based analysis of quality for large-scale software systems , 2005, ASE.

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

[22]  Giuliano Antoniol,et al.  Investigating large software system evolution: the Linux kernel , 2002, Proceedings 26th Annual International Computer Software and Applications.