89,817 research outputs found

    Static Analyser for Java-Based Object-Oriented Software Metrics

    Get PDF
    Software metrics play a major role In the software development. Not only software metrics help in understanding the size and complexity of software systems, but they are also helpful in improving the quality of software systems. For object-oriented systems, a large number of metrics have been established. These metrics should be supported by automated collection tools. Automated tools are useful for measuring and improving the quality of software systems. One such tool is a static analyser. A static analyser has been developed for a subset of Java language. A number of object-oriented software metrics has been evaluated using attribute grammar approach. Attribute grammar approach is considered as a well-defined approach to the software metrics evaluation since it is based on the measurement of the source code itself. New definitions for a number of object-oriented metrics have been specified using attribute grammars. This tool has been built using C language. Lexical analyser and syntax analyser have been generated using lex and yacc tools under linux operating system. Four object-oriented metrics have been evaluated. These metrics are Depth of Inheritance Tree metric, Number of Children metric, Response For a Class metric, and Coupling Between Object Classes metric. The software metrics will be produced in the common metrics format that is used in SCOPE project

    Weighted Class Complexity: A Measure of Complexity for Object Oriented System

    Get PDF
    Software complexity metrics are used to predict critical information about reliability and maintainability of software systems. Object oriented software development requires a different approach to software complexity metrics. In this paper, we propose a metric to compute the structural and cognitive complexity of class by associating a weight to the class, called as Weighted Class Complexity (WCC). On the contrary, of the other metrics used for object oriented systems, proposed metric calculates the complexity of a class due to methods and attributes in terms of cognitive weight. The proposed metric has been demonstrated with OO examples. The theoretical and practical evaluations based on the information theory have shown that the proposed metric is on ratio scale and satisfies most of the parameters required by the measurement theor

    New Inheritance Complexity Metrics for Object-Oriented Software Systems: An Evaluation with Weyuker's Properties

    Get PDF
    Two inheritance complexity metrics, one at class level CCI (Class Complexity due to Inheritance) and another at program level ACI (Average Complexity of a program due to Inheritance), have been proposed for object-oriented software systems. These proposed metrics are evaluated with Weyuker's properties and compared with other well known object-oriented inheritance metrics. It has been found that the proposed metrics better represent the complexity, due to inheritance, of a class and a program. Weyuker's property 7 (Significance of Permutation) has received a negative response regarding its applicability to object-oriented software metrics. It has been observed that this property is not satisfied by any of the object-oriented inheritance metrics proposed so far. Contrary to past beliefs, the relevance of this property to object-oriented systems has been brought out in this paper. Examples with C++ code are also presented to support the applicability of this property

    Review on software metrics thresholds for object-oriented software

    Get PDF
    Software metrics like any other measures have been advocated as the essential tool in Object-oriented systems. Controlling software metrics is an important for building quality software systems. Software metrics thresholds have been used in various disciplines in identifying the unsafe design by setting an alarm at a place where the value of the specific internal measure exceeds some predefined values. Although, the researchers and other practitioners tried to introduce a variety of software metrics, but the issue of thresholds has been given limited attention. A few meaningful software metric thresholds have been introduced in the literature. In this review paper, the authors went through different literatures to identify the existing object-oriented software metrics thresholds in order to gain an insight about the phenomena. By studying the validation process and the sensations of the metrics presented in the literature, the study found the thresholds for CK metrics have been validated more than any other metrics

    Survey of source code metrics for evaluating testability of object oriented systems

    No full text
    Software testing is costly in terms of time and funds. Testability is a software characteristic that aims at producing systems easy to test. Several metrics have been proposed to identify the testability weaknesses. But it is sometimes difficult to be convinced that those metrics are really related with testability. This article is a critical survey of the source-code based metrics proposed in the literature for object-oriented software testability. It underlines the necessity to provide testability metrics that are proved to be intuitive and adequate for the testing cost prediction

    How Scale Affects Structure in Java Programs

    Full text link
    Many internal software metrics and external quality attributes of Java programs correlate strongly with program size. This knowledge has been used pervasively in quantitative studies of software through practices such as normalization on size metrics. This paper reports size-related super- and sublinear effects that have not been known before. Findings obtained on a very large collection of Java programs -- 30,911 projects hosted at Google Code as of Summer 2011 -- unveils how certain characteristics of programs vary disproportionately with program size, sometimes even non-monotonically. Many of the specific parameters of nonlinear relations are reported. This result gives further insights for the differences of "programming in the small" vs. "programming in the large." The reported findings carry important consequences for OO software metrics, and software research in general: metrics that have been known to correlate with size can now be properly normalized so that all the information that is left in them is size-independent.Comment: ACM Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), October 2015. (Preprint

    An empirical study of social networks metrics in object-oriented software

    Get PDF
    We study the application to object-oriented software of new metrics, derived from Social Network Analysis. Social Networks metrics, as for instance, the EGO metrics, allow to identify the role of each single node in the information flow through the network, being related to software modules and their dependencies. These metrics are compared with other traditional software metrics, like the Chidamber-Kemerer suite, and software graph metrics. We examine the empirical distributions of all the metrics, bugs included, across the software modules of several releases of two large Java systems, Eclipse and Netbeans. We provide analytical distribution functions suitable for describing and studying the observed distributions. We study also correlations among metrics and bugs. We found that the empirical distributions systematically show fat-tails for all the metrics. Moreover, the various metric distributions look very similar and consistent across all system releases and are also very similar in both the studied systems. These features appear to be typical properties of these software metrics
    corecore