共查询到20条相似文献,搜索用时 31 毫秒
1.
In the metric suite for object oriented design put forward by S.R. Chidamber and C.F. Kemerer (1994), it is observed that E. Weyuker's (1988) Property 9 is not satisfied by any of the structural inheritance complexity metrics. The same is also observed for candidate structural inheritance complexity metrics proposed by A.F. Brito and R. Carapuca (1994). The authors formally show that particular classes of inheritance metrics (that include the above proposals) that are defined on a directed graph abstraction of the inheritance structure and that are contrived on the assumptions and definitions given by Chidamber and Kemerer, can never satisfy Property 9. Furthermore, it is also argued that the formalisation can be generalized to include other classes of structural metrics that are not necessarily inheritance metrics 相似文献
2.
Empirical analysis of CK metrics for object-oriented design complexity: implications for software defects 总被引:2,自引:0,他引:2
Subramanyam R. Krishnan M.S. 《IEEE transactions on pattern analysis and machine intelligence》2003,29(4):297-310
To produce high quality object-oriented (OO) applications, a strong emphasis on design aspects, especially during the early phases of software development, is necessary. Design metrics play an important role in helping developers understand design aspects of software and, hence, improve software quality and developer productivity. In this paper, we provide empirical evidence supporting the role of OO design complexity metrics, specifically a subset of the Chidamber and Kemerer (1991, 1994) suite (CK metrics), in determining software defects. Our results, based on industry data from software developed in two popular programming languages used in OO development, indicate that, even after controlling for the size of the software, these metrics are significantly associated with defects. In addition, we find that the effects of these metrics on defects vary across the samples from two programming languages-C++ and Java. We believe that these results have significant implications for designing high-quality software products using the OO approach. 相似文献
3.
Olague H.M. Etzkorn L.H. Gholston S. Quattlebaum S. 《IEEE transactions on pattern analysis and machine intelligence》2007,33(6):402-419
Empirical validation of software metrics suites to predict fault proneness in object-oriented (OO) components is essential to ensure their practical use in industrial settings. In this paper, we empirically validate three OO metrics suites for their ability to predict software quality in terms of fault-proneness: the Chidamber and Kemerer (CK) metrics, Abreu's Metrics for Object-Oriented Design (MOOD), and Bansiya and Davis' Quality Metrics for Object-Oriented Design (QMOOD). Some CK class metrics have previously been shown to be good predictors of initial OO software quality. However, the other two suites have not been heavily validated except by their original proposers. Here, we explore the ability of these three metrics suites to predict fault-prone classes using defect data for six versions of Rhino, an open-source implementation of JavaScript written in Java. We conclude that the CK and QMOOD suites contain similar components and produce statistical models that are effective in detecting error-prone classes. We also conclude that the class components in the MOOD metrics suite are not good class fault-proneness predictors. Analyzing multivariate binary logistic regression models across six Rhino versions indicates these models may be useful in assessing quality in OO classes produced using modern highly iterative or agile software development processes. 相似文献
4.
The goal of this paper is to investigate the relation between object-oriented design choices and defects in software systems, with focus on a real-time telecommunication domain. The design choices are measured using the widely accepted metrics suite proposed by Chidamber and Kemerer for object oriented languages [S.R. Chidamber, C.F. Kemerer, A metrics suite for object oriented design, IEEE Transactions on Software Engineering 20 (6) (1994) 476-493].This paper reports the results of an extensive case study, which strongly reinforces earlier, mainly anecdotal, evidence that design aspects related to communication between classes can be used as indicators of the most defect-prone classes.Statistical models applicable for the non-normally distributed count data are used, such as Poisson regression, negative binomial regression, and zero-inflated negative binomial regression. The performances of the models are assessed using correlations, dispersion coefficients and Alberg diagrams.The zero-inflated negative binomial regression model based on response for a class shows the best overall ability to describe the variability of the number of defects in classes. 相似文献
5.
《Information and Software Technology》2013,55(8):1397-1418
ContextSoftware metrics may be used in fault prediction models to improve software quality by predicting fault location.ObjectiveThis paper aims to identify software metrics and to assess their applicability in software fault prediction. We investigated the influence of context on metrics’ selection and performance.MethodThis systematic literature review includes 106 papers published between 1991 and 2011. The selected papers are classified according to metrics and context properties.ResultsObject-oriented metrics (49%) were used nearly twice as often compared to traditional source code metrics (27%) or process metrics (24%). Chidamber and Kemerer’s (CK) object-oriented metrics were most frequently used. According to the selected studies there are significant differences between the metrics used in fault prediction performance. Object-oriented and process metrics have been reported to be more successful in finding faults compared to traditional size and complexity metrics. Process metrics seem to be better at predicting post-release faults compared to any static code metrics.ConclusionMore studies should be performed on large industrial software systems to find metrics more relevant for the industry and to answer the question as to which metrics should be used in a given context. 相似文献
6.
软件度量是保证软件质量的重要方法,该文主要针对面向对象软件经过分析度量后得出结果进行分析与评价,分析与评价主要基于面向对象程序中类的耦合度、内聚度、继承性、复杂度等进行展开,从数学的角度来分析度量指标的可信度,以保证从整体上把握面向对象软件产品的质量。 相似文献
7.
Empirical Analysis of Object-Oriented Design Metrics for Predicting High and Low Severity Faults 总被引:4,自引:0,他引:4
《IEEE transactions on pattern analysis and machine intelligence》2006,32(10):771-789
In the last decade, empirical studies on object-oriented design metrics have shown some of them to be useful for predicting the fault-proneness of classes in object-oriented software systems. This research did not, however, distinguish among faults according to the severity of impact. It would be valuable to know how object-oriented design metrics and class fault-proneness are related when fault severity is taken into account. In this paper, we use logistic regression and machine learning methods to empirically investigate the usefulness of object-oriented design metrics, specifically, a subset of the Chidamber and Kemerer suite, in predicting fault-proneness when taking fault severity into account. Our results, based on a public domain NASA data set, indicate that 1) most of these design metrics are statistically related to fault-proneness of classes across fault severity, and 2) the prediction capabilities of the investigated metrics greatly depend on the severity of faults. More specifically, these design metrics are able to predict low severity faults in fault-prone classes better than high severity faults in fault-prone classes 相似文献
8.
Hitz M. Montazeri B. 《IEEE transactions on pattern analysis and machine intelligence》1996,22(4):267-271
The metrics suite for object-oriented design put forward by Chidamber and Kemerer (1994) is partly evaluated by applying principles of measurement theory. Using the object coupling measure (CBO) as an example, it is shown that failing to establish a sound empirical relation system can lead to deficiencies of software metrics. Similarly, for the object-oriented cohesion measure (LCOM) it is pointed out that the issue of empirically testing the representation condition must not be ignored, even if other validation principles are carefully obeyed. As a by-product, an alternative formulation for LCOM is proposed 相似文献
9.
Basili V.R. Briand L.C. Melo W.L. 《IEEE transactions on pattern analysis and machine intelligence》1996,22(10):751-761
This paper presents the results of a study in which we empirically investigated the suite of object-oriented (OO) design metrics introduced in (Chidamber and Kemerer, 1994). More specifically, our goal is to assess these metrics as predictors of fault-prone classes and, therefore, determine whether they can be used as early quality indicators. This study is complementary to the work described in (Li and Henry, 1993) where the same suite of metrics had been used to assess frequencies of maintenance changes to classes. To perform our validation accurately, we collected data on the development of eight medium-sized information management systems based on identical requirements. All eight projects were developed using a sequential life cycle model, a well-known OO analysis/design method and the C++ programming language. Based on empirical and quantitative analysis, the advantages and drawbacks of these OO metrics are discussed. Several of Chidamber and Kemerer's OO metrics appear to be useful to predict class fault-proneness during the early phases of the life-cycle. Also, on our data set, they are better predictors than “traditional” code metrics, which can only be collected at a later phase of the software development processes 相似文献
10.
Analyzing object-oriented systems in order to evaluate their quality gains its importance as the paradigm continues to increase in popularity. Consequently, several object-oriented metrics have been proposed to evaluate different aspects of these systems such as class coupling. In object-oriented design, three types of coupling may exist between classes: inheritance coupling, interaction coupling, and component coupling. This paper presents a tool for measuring inheritance coupling in object-oriented systems. 相似文献
11.
An Investigation into the Applicability and Validity of Object-Oriented Design Metrics 总被引:1,自引:0,他引:1
In this paper we consider empirical evidence in support of a set of object-oriented software metrics. In particular, we look at the object oriented design metrics of Chidamber and Kemerer, and their applicability in different application domains.We briefly describe the metrics, and present our empirical findings, arising from our analysis of systems taken from a number of different application domains. Our investigations have led us to conclude that a subset of the metrics can be of great value to software developers, maintainers and project managers. 相似文献
12.
Henrique Rocha Cesar Couto Cristiano Maffort Rogel Garcia Clarisse Simoes Leonardo Passos Marco Tulio Valente 《Software Quality Journal》2013,21(4):529-549
Despite the relevance of the software evolution phase, there are few characterization studies on recurrent evolution growth patterns and on their impact on software properties, such as coupling and cohesion. In this paper, we report a study designed to investigate whether the software evolution categories proposed by Lanza can be used to explain not only the growth of a system in terms of lines of code (LOC), but also in terms of metrics from the Chidamber and Kemerer (CK) object-oriented metrics suite. Our results show that high levels of recall (ranging on average from 52 to 72 %) are achieved when using LOC to predict the evolution of coupling and size. For cohesion, we have achieved smaller recall rates (<27 % on average). 相似文献
13.
Chidamber S.R. Darcy D.P. Kemerer C.F. 《IEEE transactions on pattern analysis and machine intelligence》1998,24(8):629-639
With the increasing use of object-oriented methods in new software development, there is a growing need to both document and improve current practice in object-oriented design and development. In response to this need, a number of researchers have developed various metrics for object-oriented systems as proposed aids to the management of these systems. In this research, an analysis of a set of metrics proposed by Chidamber and Kemerer (1994) is performed in order to assess their usefulness for practising managers. First, an informal introduction to the metrics is provided by way of an extended example of their managerial use. Second, exploratory analyses of empirical data relating the metrics to productivity, rework effort and design effort on three commercial object-oriented systems are provided. The empirical results suggest that the metrics provide significant explanatory power for variations in these economic variables, over and above that provided by traditional measures, such as size in lines of code, and after controlling for the effects of individual developers 相似文献
14.
Empirical validation of object-oriented metrics on open source software for fault prediction 总被引:3,自引:0,他引:3
Gyimothy T. Ferenc R. Siket I. 《IEEE transactions on pattern analysis and machine intelligence》2005,31(10):897-910
Open source software systems are becoming increasingly important these days. Many companies are investing in open source projects and lots of them are also using such software in their own work. But, because open source software is often developed with a different management style than the industrial ones, the quality and reliability of the code needs to be studied. Hence, the characteristics of the source code of these projects need to be measured to obtain more information about it. This paper describes how we calculated the object-oriented metrics given by Chidamber and Kemerer to illustrate how fault-proneness detection of the source code of the open source Web and e-mail suite called Mozilla can be carried out. We checked the values obtained against the number of bugs found in its bug database - called Bugzilla - using regression and machine learning methods to validate the usefulness of these metrics for fault-proneness prediction. We also compared the metrics of several versions of Mozilla to see how the predicted fault-proneness of the software system changed during its development cycle. 相似文献
15.
Segla Kpodjedo Filippo Ricca Philippe Galinier Yann-Gaël Guéhéneuc Giuliano Antoniol 《Empirical Software Engineering》2011,16(1):141-175
Testing is the most widely adopted practice to ensure software quality. However, this activity is often a compromise between
the available resources and software quality. In object-oriented development, testing effort should be focused on defective
classes. Unfortunately, identifying those classes is a challenging and difficult activity on which many metrics, techniques,
and models have been tried. In this paper, we investigate the usefulness of elementary design evolution metrics to identify
defective classes. The metrics include the numbers of added, deleted, and modified attributes, methods, and relations. The
metrics are used to recommend a ranked list of classes likely to contain defects for a system. They are compared to Chidamber
and Kemerer’s metrics on several versions of Rhino and of ArgoUML. Further comparison is conducted with the complexity metrics
computed by Zimmermann et al. on several releases of Eclipse. The comparisons are made according to three criteria: presence
of defects, number of defects, and defect density in the top-ranked classes. They show that the design evolution metrics,
when used in conjunction with known metrics, improve the identification of defective classes. In addition, they show that
the design evolution metrics make significantly better predictions of defect density than other metrics and, thus, can help
in reducing the testing effort by focusing test activity on a reduced volume of code. 相似文献
16.
17.
Empirical validation of software metrics used to predict software quality attributes is important to ensure their
practical relevance in software organizations. The aim of this work is to find the relation of object-oriented (OO) metrics
with fault proneness at different severity levels of faults. For this purpose, different prediction models have been developed
using regression and machine learning methods. We evaluate and compare the performance of these methods to find which method
performs better at different severity levels of faults and empirically validate OO metrics given by Chidamber and Kemerer.
The results of the empirical study are based on public domain NASA data set. The performance of the predicted models was evaluated
using Receiver Operating Characteristic (ROC) analysis. The results show that the area under the curve (measured from the
ROC analysis) of models predicted using high severity faults is low as compared with the area under the curve of the model
predicted with respect to medium and low severity faults. However, the number of faults in the classes correctly classified
by predicted models with respect to high severity faults is not low. This study also shows that the performance of machine
learning methods is better than logistic regression method with respect to all the severities of faults. Based on the results,
it is reasonable to claim that models targeted at different severity levels of faults could help for planning and executing
testing by focusing resources on fault-prone parts of the design and code that are likely to cause serious failures. 相似文献
18.
This paper concerns the use of design/source-code complexity metrics in analysing C++ software. It describes the use of one suite of object-oriented metrics published by Chidamber and Kemerer1 to evaluate a commercial C++ application. It provides an interpretation and critique of these metrics, including the use of two traditional metrics (Cyclomatic Complexity2 and Software Science3) in association with these object-oriented metrics. The evolution, over a two and a half year period, of one commercial grade C++ application comprising 114 classes with 25,000 lines of code is studied. The efforts consumed in bug fixes and enhancements are correlated with the complexity measures on a per class basis, and results are presented. These results are compared to those from other workers. The paper provides a detailed analysis of the practical strengths and weaknesses of the metrics suite in the light of experiences with its use. © 1998 John Wiley & Sons, Ltd. 相似文献
19.
El Emam K. Benlarbi S. Goel N. Rai S.N. 《IEEE transactions on pattern analysis and machine intelligence》2001,27(7):630-650
Much effort has been devoted to the development and empirical validation of object-oriented metrics. The empirical validations performed thus far would suggest that a core set of validated metrics is close to being identified. However, none of these studies allow for the potentially confounding effect of class size. We demonstrate a strong size confounding effect and question the results of previous object-oriented metrics validation studies. We first investigated whether there is a confounding effect of class size in validation studies of object-oriented metrics and show that, based on previous work, there is reason to believe that such an effect exists. We then describe a detailed empirical methodology for identifying those effects. Finally, we perform a study on a large C++ telecommunications framework to examine if size is really a confounder. This study considered the Chidamber and Kemerer metrics and a subset of the Lorenz and Kidd metrics. The dependent variable was the incidence of a fault attributable to a field failure (fault-proneness of a class). Our findings indicate that, before controlling for size, the results are very similar to previous studies. The metrics that are expected to be validated are indeed associated with fault-proneness 相似文献
20.
Software product quality can be enhanced significantly if we have a good knowledge and understanding of the potential faults therein. This paper describes a study to build predictive models to identify parts of the software that have high probability of occurrence of fault. We have considered the effect of thresholds of object‐oriented metrics on fault proneness and built predictive models based on the threshold values of the metrics used. Prediction of fault prone classes in earlier phases of software development life cycle will help software developers in allocating the resources efficiently. In this paper, we have used a statistical model derived from logistic regression to calculate the threshold values of object oriented, Chidamber and Kemerer metrics. Thresholds help developers to alarm the classes that fall outside a specified risk level. In this way, using the threshold values, we can divide the classes into two levels of risk – low risk and high risk. We have shown threshold effects at various risk levels and validated the use of these thresholds on a public domain, proprietary dataset, KC1 obtained from NASA and two open source, Promise datasets, IVY and JEdit using various machine learning methods and data mining classifiers. Interproject validation has also been carried out on three different open source datasets, Ant and Tomcat and Sakura. This will provide practitioners and researchers with well formed theories and generalised results. The results concluded that the proposed threshold methodology works well for the projects of similar nature or having similar characteristics. 相似文献