89,817 research outputs found
Static Analyser for Java-Based Object-Oriented Software Metrics
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
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
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
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
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
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
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
- …