Machine Learning Applications In Software Engineering

Tadashi Dohi, Yasuhiko Nishio and Shunji Osaki Department of Industrial and Systems Engineering, Faculty of Engineering, Hiroshima University, 4 1 Kagamiyama I Chome, Higashi-Hiroshima 739 8527, Japan E-mail: dohi@gal.sys.hiroshima-u.ac.jp
J.C. Baltzer AG, Science Publishers
The determination of the optimal software release schedule plays an important role in supplying sufficiently reliable software products to actual market or users. In the existing methods, the optimal software release schedule was determined by assuming the stochastic and/or statistical model called software reliability growth model. In this paper, we propose a new method to estimate the optimal software release timing which minimizes the relevant cost criterion via artificial neural networks. Recently, artificial neural networks are actively studied with many practical applications and are applied to assess the software product reliability. First, we interpret the underlying cost minimization problem as a graphical one and show that it can be reduced to a simple time series forecasting problem. Secondly, artificial neural networks are used to estimate the fault-detection time in future. In numerical examples with actual field data, we compare the new method based on the neural networks with existing parametric methods using some software reliability growth models and illustrate its benefit in terms of predictive performance. A comprehensive bibliography on the software release problem is presented.
In a software development project and its quality control process in the testing phase, it is of great importance to assess reliability of a software as an intellectual product.