The Optimisation of the Software Quality
Cos Using Neural Neworks*)

Ion IVAN, Academy of Economic Studies, Bucharest, Romania 
Gheorghe NOSCA, Otilia PARLOG, Ministry of Romanian Defence, Romania

This paper offers a theoretic approach on the using of the neural network for optimising the software quality cost.

Introduction
The extension of software application in mission fields (nuclear, energy, defence etc.), where errors recurrence can have the catastrophic consequences, requires the increasing quality level.
There is a strong connection between the quality level and the product cost. The relation between the economic growth and the quality cost proves that the latest must will be one of the strategic elements for the management.
It is intended to obtain a maximum quality level with a minimum cost. The measure of the quality cost is a major element of a program for the quality improvement.
In some fields, quality parameters such as reliability, maintainability and robustness must be maximised. Software has several properties that distinguish it from others products and, in comparison with these, the software development demands a high quality level from start. In fact the best chance to influence the quality cost is in the conceptual phase of the design software.
The quality cost improving leads to increasing software cost level that defines the quality cost/Therefore there is a need of finding the best methods for estimation, measure, prediction and, finally, for optimisation.

The Software Quality
The software quality is a complex notion derived from an aggregation of some quality characteristics with different measure units. An other trouble is that same of the software quality characteristics are in conflict: added efficiency is often purchased at the price of portability, and maintenability; added accuracy often conflicts with portability via dependence on word size; conciseness can conflicts with legibility [3].
The quality characteristics' importance level is, also, different according to the field where the software will be used. In the nuclear field, for example, the maximum level for the reliability is imposed.
We have in mind the improving of software quality in order to use it with optimal results. Evident, the increasing of quality level implies, automatically, the increasing of costs.
The practice has demonstrated that increasing the quality level above a certain limit means an exaggerated increasing of the cost.

The Quality Cost
The cost of quality, as part of the cost of elaborating a software product is the money expression of the compsumptions of resources determined by the attainment of certain level of the quality characteristics or by their improvement. [2]
The software products have some particularities as:
- the lack of the physical wearing
- the lack of the possibility to establish in design phase limits of tolerance.
The expression "approximately correct" can not be used in the software field.

The Quality Cost Function
For optimising the quality cost, it is necessary, first of all, to establish a function called quality cost function. This function will be optimised using deferent procedures. For establishing the function cost it is also necessary to take into account that specific of the structure of the software product is the preponderance of expenditure on living work (more than 90%).
The optimising process is, also, influenced by the quality cost function establishment. Some modalities to establish quality cost function atepieseniedin|2].

1. Global model of the quality cost:
CT = Cp + Ce + Cd + Ca + Cf,
where:
Cp -the cost of preventing processing errors
Ce - the cost of error identification and elimination
Cd - the cost for technical service by the beneficiary
Ca -the cost of quality absence
Cf - expenditures on raising staff training in the informatics units

2. Model for the quality cost by taking into consideration the software structure://///////////////////

where:
N - number of the modules
j - component in the total cost of quality
i - the module analysed
Гi - complexity level .	,
ij and ij  the parameters determinate through the least squares method.

3. Probabilistic model for the software quality cost: ////////////////////////////

where :
Hk - the probability that the software has the planed level, Uk, of quality characteristics (k= 1, 2, ..., M)
M- number of quality characteristics
CI -the forecast cost of the entire software
- flexibility coefficients of the initial cost in keeping with the level of the considered quality characteristics.

4. The model of quality cost with importance shares:  //////////////////////////
The quality standard of the software is determinate wit the following relation://////////////////////////////////////////

where:
n(P) - the number of quality    characteristics taken into consideration for programme P
pi(P) - the importance coefficient of characteristic i, for product P resulting from the hierarchical structure
Npi - the estimated level of the quality characteristic i for product P
i - the function through which assigned to each level x of the quality characteristic i is a number (score) which is defined by:
i:[ai,bi,][ci,di]
i=1,2, …, n(P); a, b, c, dεR+.
The level of quality cost C may be expressed:
C=f[Q(P)]
where the analytical form of function f depends on the considered complexity and the information basis used for estimating the level of quality Q(P).

Using the neural network to optimise the quality cost
Having in view that the cost for a software with quality level (Ki) the is (Ci), the optimisation of the quality cost is o combinatorial optimisation problem. This kind of problems can be optimised using neural network [4].
After the function cost establishing, we can build the energy function E, taking into account same restrictions imposed to software. 
E = function cost + restrictions
The next step is the minimising of the cost function taking into account a number of restriction. The restrictions related to software can be the limits imposed to quality characteristic levels, and the importance shares. For optimising the quality cost it is necessary to establish o quality cost structure and the limits for the value of importance coefficients.
Establishing these elements we can use neural networks to optimise the function cost.
A method recomanded to be used in this field is the simulated annealing. With this method we can determine an optimal structure for the quality cost. The optimal structure can assure a minimal level for the quality cost, having in view a level of quality imposed.
It is, also, possible to optimise the quality cost varying the levels of the quality characteristics.
The simulated annealing method permits to find out a global minimum of the function within neural networks.

References
1. Apreutesei P., Nosca Gh. : Optimising the Software Quality Cost, International Conference Software Quality, University of Maribor, Slovenia, noiembrie 1995.
2. Baron,T.,Ivan, I, Goga, A.: Modelling the Cost of the Quality of Programme Systems ;Economic Computation and Economic Cybernetics Studies and Research, nr.2/1988, Academy of Economics Studies, Bucharest-Romania.
3. Boehm,B.,W,: Characteristics of Software Quality, Second Edition, North Holland Publishing Company, 1980.
4. Dumitrescu, D,, Costin, H.: Retele neuronale; teorie si aplicatii; Editura Teora, Bucuresti, 1996.
____________________________________________________________________________
*)The FOURTH INTERNATIONAL SYMPOSIUM ON ECONOMIC INFORMATICS ROMANIA BUCHAREST, May 6-9, 1999,  ASE Printing House, Bucharest 1999, pp. 177- 180