2
Guest Editor’s Corner Achieving Quality in Software Sandro Bologna Italian National Agency for New Technology,Energy and the Environment (ENEA), Rome, Italy This special issue of the Journal of Systems and Software contains a selection of articles from the Third International Conference on Achieving Qual- ity in Software (AQuIS’961, held in Florence, Italy, on January 24-26, 1996. Interested readers can order copies of the AQuIS’96 proceedings from Chapman & Hall. Software quality is a generalised statement difli- cult to agree or disagree with until a precise defini- tion of the concept of software quality is reached in terms of measurable quantities. Unfortunately, for the software technology the basic questions of: what to measure; how to measure; when to measure; how to deal with the measured data; are still unanswered and are also closely dependent on the field of application. In the past twenty years or more there have been a number of conferences and papers focusing on the concept of software quality, which have produced small industrial impact. Recently, however, the im- plementation of a few generic standards (IS0 9000, IEEE, etc.) has produced and improved application of good practice principles at the industrial level, with beneficial impact on software quality. Of course, the fast changing nature of software technology is also a major problem. It is difficult to set up a measurement environment for a target process and product rapidly changing. Achieving quality for a software product coded in Fortran can not be considered the same problem as for a soft- ware product coded in C++ or Visual Basic. The impact and the usability of formal methods is not clear yet, as well as the exportability of methods and techniques developed for conventional systems soft- ware to knowledge based systems software. The time-scale set for achievement of results in the area Address comqondence to Sandra Botbgna, ENEA CRE-Casac- ciu, via AnguiUarese, 301, MM6OS. Maria a? Gahia (Rh4) Italy J. SYSTEMS SOFlWAREC 1997; 38:1-2 6 1997 by Elsevier Science Inc. 655 Avenue of the Americas, New York, NY 10010 of software technology makes it necessary to recon- sider the time it takes for research to find its way onto the market and into daily life. Much greater attention should be given to demonstration and ex- perimental activities and the exploitation of results. Hitherto research in the field of software quality has been based largely on technical achievements. The aim now is to make research more efficient and increasingly directed towards meeting industrial needs. It is the opinion of this author that it will still be a long way before the concept of software quality can be defined exactly and measured, if ever. The major problem is the lack of experimental results and controlled experiments as we intend them in the other scientific disciplines. This is the importance of this special issue. All the papers presented in this special issue are supported by experimental results. Controlled experiments are what we need to step ahead in the field of achieving quality in software. Nine articles have been selected from the 31 papers in the conference proceedings for publica- tions here. In the first article, “Evolving and Packaging Read- ing Technologies,” Prof. Basili reports about the importance of reading, the only analysis technology we can use throughout the entire software life cycle. Reading is a fundamental technology for achieving quality software. The paper provides motivations for reading as a quality improvement technology, based upon experiences in the Software Engineering Labo- ratory at NASA Goddard Space Flight Center. The results are supported by series of experiments that range from the early reading vs. testing experiments to various Cleanroom experiments. The effects of stress on fault generation in both structured and functional design methodologies were quantitatively determined through a controlled ex- periment reported in the paper “Analysis of Fault Generation Caused by Stress During Software De- velopment” by Furuyama, Arai and Iio. In the exper- iment, two teams developed the same software un- der the same mental stress conditions, except for 0164-1212/97/$17.00 PII SOW-1212(97)00067-S

Guest editor's corner achieving quality in software

Embed Size (px)

Citation preview

Page 1: Guest editor's corner achieving quality in software

Guest Editor’s Corner Achieving Quality in Software

Sandro Bologna Italian National Agency for New Technology, Energy and the Environment (ENEA), Rome, Italy

This special issue of the Journal of Systems and Software contains a selection of articles from the Third International Conference on Achieving Qual- ity in Software (AQuIS’961, held in Florence, Italy, on January 24-26, 1996. Interested readers can order copies of the AQuIS’96 proceedings from Chapman & Hall.

Software quality is a generalised statement difli- cult to agree or disagree with until a precise defini- tion of the concept of software quality is reached in terms of measurable quantities. Unfortunately, for the software technology the basic questions of:

what to measure;

how to measure;

when to measure;

how to deal with the measured data;

are still unanswered and are also closely dependent on the field of application.

In the past twenty years or more there have been a number of conferences and papers focusing on the concept of software quality, which have produced small industrial impact. Recently, however, the im- plementation of a few generic standards (IS0 9000, IEEE, etc.) has produced and improved application of good practice principles at the industrial level, with beneficial impact on software quality.

Of course, the fast changing nature of software technology is also a major problem. It is difficult to set up a measurement environment for a target process and product rapidly changing. Achieving quality for a software product coded in Fortran can not be considered the same problem as for a soft- ware product coded in C++ or Visual Basic. The impact and the usability of formal methods is not clear yet, as well as the exportability of methods and techniques developed for conventional systems soft- ware to knowledge based systems software. The time-scale set for achievement of results in the area

Address comqondence to Sandra Botbgna, ENEA CRE-Casac- ciu, via AnguiUarese, 301, MM6OS. Maria a? Gahia (Rh4) Italy

J. SYSTEMS SOFlWAREC 1997; 38:1-2 6 1997 by Elsevier Science Inc. 655 Avenue of the Americas, New York, NY 10010

of software technology makes it necessary to recon- sider the time it takes for research to find its way onto the market and into daily life. Much greater attention should be given to demonstration and ex- perimental activities and the exploitation of results.

Hitherto research in the field of software quality has been based largely on technical achievements. The aim now is to make research more efficient and increasingly directed towards meeting industrial needs. It is the opinion of this author that it will still be a long way before the concept of software quality can be defined exactly and measured, if ever. The major problem is the lack of experimental results and controlled experiments as we intend them in the other scientific disciplines. This is the importance of this special issue. All the papers presented in this special issue are supported by experimental results. Controlled experiments are what we need to step ahead in the field of achieving quality in software.

Nine articles have been selected from the 31 papers in the conference proceedings for publica- tions here.

In the first article, “Evolving and Packaging Read- ing Technologies,” Prof. Basili reports about the importance of reading, the only analysis technology we can use throughout the entire software life cycle. Reading is a fundamental technology for achieving quality software. The paper provides motivations for reading as a quality improvement technology, based upon experiences in the Software Engineering Labo- ratory at NASA Goddard Space Flight Center. The results are supported by series of experiments that range from the early reading vs. testing experiments to various Cleanroom experiments.

The effects of stress on fault generation in both structured and functional design methodologies were quantitatively determined through a controlled ex- periment reported in the paper “Analysis of Fault Generation Caused by Stress During Software De- velopment” by Furuyama, Arai and Iio. In the exper- iment, two teams developed the same software un- der the same mental stress conditions, except for

0164-1212/97/$17.00 PII SOW-1212(97)00067-S

Page 2: Guest editor's corner achieving quality in software

2 J. SYSTEMS SOFTWARE 1997; 3&l-2

S. Bologna

design methodologies. Metrics were selected for measuring the degree of mental and physical stress of all developers in the experiment. The result was that the use of a more structured design methodol- ogy rather than a functional design methodology reduces the number of faults caused by sometimes inevitable stressful circumstances.

The problem of predicting the number of defects in software components is addressed in the paper “Poisson Analyses of Defects for Small Software Components” by Evanco. There is a need for an approach that integrates a variety of software met- rics to predict the numbers of defects for small software components. In this paper, an approach based on Poisson regression techniques is presented. The approach is validated by the use of data from projects of flight dynamic and telemetry simulation programs, some of which reused software compo nents developed in other projects. The analyses have led to some insights for software development policy when employing reuse, for example, changes in soft- ware not anticipated in the original design have a strong impact on defect numbers.

Predicting the time needed for testing of large- scale software is the subject of the paper “Metrics and Analyses in the Test Phase of Large-Scale Soft- ware” by Obara, Kawasaki, Ookawa and Maeda. A model is presented to predict the time needed for testing of large-scale software, with a view to im- proving the productivity of the software in the test phase. The model is applied to large-scale switching software and is validated by a number of experimen- tal results.

The paper “A Case Study in Branch Testing Au- tomation” by Bertolino, Mirandola and Peciola pre- sents a case study for the empirical validation of the usefulness of a method for the automatic generation of test paths aimed at achieving branch coverage. The validation was conducted within the unit testing activity of the software that ,was developed by a world leader telecommunication company to control a new generation of telecommunication systems. The theoretical results investigated in the case study consist of a method for automatic generation of a set of test paths achieving branch coverage and of a bound for estimating the number of tests needed to satisfy the branch testing criterion. The experiment has clearly shown the effectiveness of the method to generate the test paths and also the effectiveness of higher automation in the test generation phase that besides the increase in productivity also provides the positive side-effect of making the test more objective and reproducible.

A software quality classification model based on McCabe’s complexity measure is investigated in the

paper “Software Quality Classification Model Based on McCabe’s Complexity Measure” by Takahashi. It is experimentally shown using regression and dis- criminant analyses that program fault density de- pends on the complexity of the functional unit rather than on that of each of the modules. A functional unit consists of several interrelated modules.

Quality of software products and processes is a key element of the European software industry. To be able to assess software, a practical but well- founded method is required, that supports a repeat- able and unbiased evaluation of the products and processes quality. In the paper “Practical Concur- rent Software Evaluation for Certification” by Welzel and Hausen, an evaluation method is presented to- gether with the results of a number of case studies.

The problem of what is a satisfactory service for the customer is addressed in the paper “In Search of the Customer’s Quality View” by StHlhane, Bor- gersen and Arnesen. The paper describes the results achieved in a project supported by the Norwegian government to get the customer’s view of software product quality. To collect data, a questionnaire was circulated based on the structure of the definitions of product and service quality in IS0 9126 and 9004 respectively. The main result, based on an extensive data analysis, was that for the customers a satisfac- tory service response is more important than having no problems at all.

The paper “Process Improvement through Pro- cess Modelling” by Coppola and Panaroni, reports a process improvement experiment in a space on-board project through the adoption of process modelling technology and the use of Process Weaver and pro- cess enactment tool. The experiment was aimed at assessing application of process modelling technol- ogy to an industrial software development project by overcoming the limitation and troubles incurred by the use of traditional software development stan- dards based on natural language. The results of the experiment showed that the adoption of process modelling technology allows better monitoring and control of the progress of each single task performed during project development, including both techni- cal, management and quality assurance.

ACKNOWLEDGMENTS

I am grateful to all people that have contributed with their work to make the program of the AQulS’96 Conference of high quality. The selection of the articles in this issue is completely the responsibility of the Guest Editor; it was not an easy task given the high standard of the papers in the A&IS’96 proceedings and the obvious restrictions of space imposed by the Journal.