Publication | Closed Access
Predicting the probability of change in object-oriented systems
107
Citations
27
References
2005
Year
Software MaintenanceEngineeringObject-oriented ModelingObject-oriented SystemsSoftware EngineeringObject OrientationFormal VerificationSoftware AnalysisReliability EngineeringSystems EngineeringObject SystemChange PronenessObject-oriented ParadigmObject-oriented DesignPredictive AnalyticsComputer EngineeringComputer ScienceExtracted ProbabilitiesSoftware DesignCode RefactoringSoftware EvolutionProgram AnalysisSoftware TestingFormal MethodsSystem Software
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1