Evaluating the applicability of reliability prediction models between different software

  • Authors:
  • Shin-ichi Sato;Akito Monden;Ken-ichi Matsumoto

  • Affiliations:
  • NTT DATA Corporation, 3-3-3, Toyosu, Koto-ku, Tokyo, Japan, 135-6033;Nara Institute of Science and Technology, 8916-5, Takayama, Ikoma, Nara, Japan, 630-0101;Nara Institute of Science and Technology, 8916-5, Takayama, Ikoma, Nara, Japan, 630-0101

  • Venue:
  • Proceedings of the International Workshop on Principles of Software Evolution
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

The prediction of fault-prone modules in a large software system is an important part in software evolution. Since prediction models in past studies have been constructed and used for individual systems, it has not been practically investigated whether a prediction model based on one system can also predict fault-prone modules accurately in other systems. Our expectation is that if we could build a model applicable to different systems, it would be extremely useful for software companies because they do not need to invest manpower and time for gathering data to construct a new model for every system.In this study, we evaluated the applicability of prediction models between two software systems through two experiments. In the first experiment, a prediction model using 19 module metrics as predictor variables was constructed in each system and was applied to the opposite system mutually. The result showed predictors were too fit to the base data and could not accurately predict fault-prone modules in the different system. On the basis of this result, we focused on a set of predictors showing great effectiveness in every model; and, in consequent, we identified two metrics (Lines of Code and Maximum Nesting Level) as commonly effective predictors in all the models. In the second experiment, by constructing prediction models using only these two metrics, prediction performance were dramatically improved. This result suggests that the commonly effective model applicable to more than two systems can be constructed by focusing on commonly effective predictors.