Certification of Technical Quality of Software Products

In this paper we propose a method for certification of technical quality of software products. The certification method employs a layered model of technical quality, based on the ISO/IEC 9126 international standard for software product quality. This model was developed in the context of software assessments conducted on commercial software systems over the course of several years. Using the layered quality model as a basis, we define a three-phase appraisal method that ends in certification of a software product at one of five possible levels. We illustrate the certification method by providing details of its application to twelve open source database management systems and five open source web servers.

[1]  Mark Weiser,et al.  Programmers use slices when debugging , 1982, CACM.

[2]  Marko van Eekelen,et al.  LaQuSo software product certification model (LSPCM) , 2008 .

[3]  Sriram K. Rajamani,et al.  The SLAM project: debugging system software via static analysis , 2002, POPL '02.

[4]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[5]  Arie van Deursen,et al.  Source-based software risk assessment , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[6]  Joost Visser,et al.  Benchmarking Technical Quality of Software Products , 2008, 2008 15th Working Conference on Reverse Engineering.

[7]  Jean-Christophe Deprez,et al.  Comparing Assessment Methodologies for Free/Open Source Software: OpenBRR and QSOS , 2008, PROFES.

[8]  Luís Soares Barbosa,et al.  CoordInspector: A Tool for Extracting Coordination Data from Legacy Code , 2008, 2008 Eighth IEEE International Working Conference on Source Code Analysis and Manipulation.

[9]  Joost Visser,et al.  A Practical Model for Measuring Maintainability , 2007, 6th International Conference on the Quality of Information and Communications Technology (QUATIC 2007).

[10]  Joost Visser,et al.  Monitoring the Quality of Outsourced Software , 2007 .

[11]  Joost Visser,et al.  A Tool-based Methodology for Software Portfolio Monitoring , 2004, Software Audit and Metrics.

[12]  Andreas Podelski,et al.  Boolean and Cartesian Abstraction for Model Checking C Programs , 2001, TACAS.

[13]  Mark David Weiser,et al.  Program slices: formal, psychological, and practical investigations of an automatic program abstraction method , 1979 .

[14]  Raphaël Semeteys,et al.  Method for Qualification and Selection of Open Source Software , 2008 .

[15]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[16]  John Hatcliff,et al.  Slicing concurrent Java programs using Indus and Kaveri , 2007, International Journal on Software Tools for Technology Transfer.

[17]  Bernard Golden Making Open Source Ready for the Enterprise: The Open Source Maturity Model , 2008 .