Analyzing Evolution Patterns of Object-Oriented Metrics

2019 ◽  
Vol 6 (3) ◽  
pp. 49-66
Author(s):  
Ruchika Malhotra ◽  
Megha Khanna

Software evolution is mandatory to keep it useful and functional. However, the quality of the evolving software may degrade due to improper incorporation of changes. Quality can be monitored by analyzing the trends of software metrics extracted from source code as these metrics represent the structural characteristics of a software such as size, coupling, inheritance etc. An analysis of these metric trends will give insight to software practitioners regarding effects of software evolution on its internal structure. Thus, this study analyzes the trends of 14 object-oriented (OO) metrics in a widely used mobile operating system software, Android. The study groups the OO metrics into four dimensions and analyzes the trends of these metrics over five versions of Android software (4.0.2-4.3.1). The results of the study indicate certain interesting patterns for the evaluated dimensions, which can be helpful to software practitioners for outlining specific maintenance decisions to improve software quality.

Author(s):  
Nisha Ratti ◽  
Parminder Kaur

Software evolution is the essential characteristic of the real world software as the user requirements changes software needs to change otherwise it becomes less useful. In order to be used for longer time period, software needs to evolve. The software evolution can be a result of software maintenance. In this chapter, a study has been conducted on 10 versions of GLE (Graphics Layout Engine) and FGS (Flight Gear Simulator) evolved over the period of eight years. An effort is made to find the applicability of Lehman Laws on different releases of two softwares developed in C++ using Object Oriented metrics. The laws of continuous change, growth and complexity are found applicable according to data collected.


Author(s):  
BASSEY ISONG ◽  
EKABUA OBETEN

Object-oriented (OO) approaches of software development promised better maintainable and reusable systems, but the complexity resulting from its features usually introduce some faults that are difficult to detect or anticipate during software change process. Thus, the earlier they are detected, found and fixed, the lesser the maintenance costs. Several OO metrics have been proposed for assessing the quality of OO design and code and several empirical studies have been undertaken to validate the impact of OO metrics on fault proneness (FP). The question now is which metrics are useful in measuring the FP of OO classes? Consequently, we investigate the existing empirical validation of CK + SLOC metrics based on their state of significance, validation and usefulness. We used systematic literature review (SLR) methodology over a number of relevant article sources, and our results show the existence of 29 relevant empirical studies. Further analysis indicates that coupling, complexity and size measures have strong impact on FP of OO classes. Based on the results, we therefore conclude that these metrics can be used as good predictors for building quality fault models when that could assist in focusing resources on high risk components that are liable to cause system failures, when only CK + SLOC metrics are used.


Author(s):  
Raed Shatnawi

BACKGROUND: Fault data is vital to predicting the fault-proneness in large systems. Predicting faulty classes helps in allocating the appropriate testing resources for future releases. However, current fault data face challenges such as unlabeled instances and data imbalance. These challenges degrade the performance of the prediction models. Data imbalance happens because the majority of classes are labeled as not faulty whereas the minority of classes are labeled as faulty. AIM: The research proposes to improve fault prediction using software metrics in combination with threshold values. Statistical techniques are proposed to improve the quality of the datasets and therefore the quality of the fault prediction. METHOD: Threshold values of object-oriented metrics are used to label classes as faulty to improve the fault prediction models The resulting datasets are used to build prediction models using five machine learning techniques. The use of threshold values is validated on ten large object-oriented systems. RESULTS: The models are built for the datasets with and without the use of thresholds. The combination of thresholds with machine learning has improved the fault prediction models significantly for the five classifiers. CONCLUSION: Threshold values can be used to label software classes as fault-prone and can be used to improve machine learners in predicting the fault-prone classes.


Author(s):  
Amit Sharma, Et. al.

In modern era, maintainability is an important part for software development that covers approx. 70-75% of development cost of the software system. It can allow the customer to adapt the software quickly and easily in an agile manner. Object oriented software metrics plays an important role for the designing of software development. Its features can be categorized into the object oriented metrics and the hierarchies of the class. In this paper, a tool named as COIN can help for evaluating the maintainability factors of object oriented software system using metrics like cohesion, coupling, inheritance and other object oriented metrics as well as through which we can analyzed the all metrics for the software system for evaluating the maintainability factors and testability also.


Author(s):  
Sanjeev Punia ◽  
Kuldeep Malik ◽  
Harendra Singh

Object oriented design metrics are most essential part of software development environment and being more popular day by day. This study focus on a set of object oriented metrics that can be used to measure the quality of an object oriented design. The object oriented design metrics focus on the measurements of class and design characteristics. These measurements permit designers to access the software in the early stage of the process and changes accordingly to reduce complexity and improve the continuing capability of the design. This paper summarizes the existing metrics those guide the designers to support their design. We categorized and discussed metrics in such a way that novice designers can apply metrics in their design as needed.


Sign in / Sign up

Export Citation Format

Share Document