Software metrics help us to make meaningful estimates for software products and guide us in taking managerial and technical decisions.However,conventional static metrics have been found to be inadequate for modern obj...Software metrics help us to make meaningful estimates for software products and guide us in taking managerial and technical decisions.However,conventional static metrics have been found to be inadequate for modern object-oriented software due to the presence of object-oriented features such as polymorphism,dynamic binding,inheritance and unused code.This fact motivates us to focus on dynamic metrics in place of traditional static metrics.Moreover,dynamic metrics are more precise than static metrics as they are able to capture the dynamic behaviour of the software system during measurement.These dynamic metrics are usually obtained from the execution traces of the code or from the executable models.In this paper,advantages of dynamic metrics over static metrics are discussed and then a survey of the existing dynamic metrics is carried out.These metrics are characterized into different categories such as dynamic coupling metrics, dynamic cohesion metrics.Towards end of the paper,potential research challenges and opportunities in the field of dynamic metrics are identified.展开更多
The grouping of correlated classes into a package helps in better organization of modern object-oriented software. The quality of such packages needs to be measured so as to estimate their utilization. In this paper, ...The grouping of correlated classes into a package helps in better organization of modern object-oriented software. The quality of such packages needs to be measured so as to estimate their utilization. In this paper, new package coupling metrics are proposed, which also take into consideration the hierarchical structure of packages and direction of connections among package elements. The proposed measures have been validated theoretically as well as empirically using 18 packages taken from two open source software systems. The results obtained from this study show strong correlation between package coupling and understandability of the package which suggests that proposed metrics could be further used to represent other external software quality factors.展开更多
文摘Software metrics help us to make meaningful estimates for software products and guide us in taking managerial and technical decisions.However,conventional static metrics have been found to be inadequate for modern object-oriented software due to the presence of object-oriented features such as polymorphism,dynamic binding,inheritance and unused code.This fact motivates us to focus on dynamic metrics in place of traditional static metrics.Moreover,dynamic metrics are more precise than static metrics as they are able to capture the dynamic behaviour of the software system during measurement.These dynamic metrics are usually obtained from the execution traces of the code or from the executable models.In this paper,advantages of dynamic metrics over static metrics are discussed and then a survey of the existing dynamic metrics is carried out.These metrics are characterized into different categories such as dynamic coupling metrics, dynamic cohesion metrics.Towards end of the paper,potential research challenges and opportunities in the field of dynamic metrics are identified.
文摘The grouping of correlated classes into a package helps in better organization of modern object-oriented software. The quality of such packages needs to be measured so as to estimate their utilization. In this paper, new package coupling metrics are proposed, which also take into consideration the hierarchical structure of packages and direction of connections among package elements. The proposed measures have been validated theoretically as well as empirically using 18 packages taken from two open source software systems. The results obtained from this study show strong correlation between package coupling and understandability of the package which suggests that proposed metrics could be further used to represent other external software quality factors.