• DocumentCode
    1129523
  • Title

    Predicting the probability of change in object-oriented systems

  • Author

    Tsantalis, Nikolaos ; Chatzigeorgiou, Alexander ; Stephanides, George

  • Author_Institution
    Dept. of Appl. Informatics, Univ. of Macedonia, Thessaloniki, Greece
  • Volume
    31
  • Issue
    7
  • fYear
    2005
  • fDate
    7/1/2005 12:00:00 AM
  • Firstpage
    601
  • Lastpage
    614
  • Abstract
    Of all merits of the object-oriented paradigm, flexibility is probably the most important in a world of constantly changing requirements and the most striking difference compared to previous approaches. However, it is rather difficult to quantify this aspect of quality: this paper describes a probabilistic approach to estimate the change proneness of an object-oriented design by evaluating the probability that each class of the system will be affected when new functionality is added or when existing functionality is modified. It is obvious that when a system exhibits a large sensitivity to changes, the corresponding design quality is questionable. The extracted probabilities of change can be used to assist maintenance and to observe the evolution of stability through successive generations and identify a possible "saturation" level beyond which any attempt to improve the design without major refactoring is impossible. The proposed model has been evaluated on two multiversion open source projects. The process has been fully automated by a Java program, while statistical analysis has proved improved correlation between the extracted probabilities and actual changes in each of the classes in comparison to a prediction model that relies simply on past data.
  • Keywords
    Java; configuration management; object-oriented methods; object-oriented programming; probability; public domain software; software maintenance; software metrics; software quality; statistical analysis; Java program; multiversion open source project; object-oriented design method; object-oriented programming; object-oriented system; probability prediction model; product metrics; software flexibility; software maintenance; software quality; Computer Society; Data mining; Design methodology; Java; Object oriented modeling; Object oriented programming; Predictive models; Probability; Stability; Statistical analysis; Index Terms- Object-oriented programming; object-oriented design methods; product metrics; quality analysis and evaluation.;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2005.83
  • Filename
    1492374