26 research outputs found

    Forecasting of Object-Oriented Faults

    Get PDF
    International audienceObject-Oriented Technologies, such as Java, provide efficient features to develop software applications. In particular, they allow the development costs to be reduced. However, issues highlighted by the “Object- Oriented Technology in Aviation” group have to be handled to guarantee a high level of safety, in order to use such technologies in avionics software. In particular, the risk of Object-Oriented Technologies design faults has to be reduced to an acceptable level. These risk reduction actions must be preceded by forecasting the actual risk level of the developed application. The paper aims at presenting a method used to forecast the risk of the presence of these Object-Oriented Technologies faults in a given program. The approach proposed is based on Bayesian networks. Its principles are introduced. It is illustrated on an example of faults: the Accidental Overriding (AO). We highlight that our approach takes into account the complex relationships existing between the various object-oriented features: inheritance, distribution of the attributes and methods, etc. To conclude, we show how the obtained data can be analysed to specify design guidelines allowing an acceptable risk level to be reached

    Comparison Study and Review on Object-Oriented Metrics

    Get PDF
    The best elucidations to software development problems are regularly touted as object-oriented processes. The popularity of object-oriented design metrics is essential in software engineering for measuring the software complexity, estimating size, quality and project efforts. There are various approaches through which we can find the software cost estimation and predicates on various kinds of deliverable items. Object-oriented metrics assures to reduce cost and the maintenance effort by serving as early predictors to estimate software faults. Such an early quantification augments the quality of the final software. This paper reviews object-oriented metrics. A comparison table is maintained via which we can analyze the difference between all the object-oriented metrics effectively

    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

    A survey on software coupling relations and tools

    Full text link
    Context Coupling relations reflect the dependencies between software entities and can be used to assess the quality of a program. For this reason, a vast amount of them has been developed, together with tools to compute their related metrics. However, this makes the coupling measures suitable for a given application challenging to find. Goals The first objective of this work is to provide a classification of the different kinds of coupling relations, together with the metrics to measure them. The second consists in presenting an overview of the tools proposed until now by the software engineering academic community to extract these metrics. Method This work constitutes a systematic literature review in software engineering. To retrieve the referenced publications, publicly available scientific research databases were used. These sources were queried using keywords inherent to software coupling. We included publications from the period 2002 to 2017 and highly cited earlier publications. A snowballing technique was used to retrieve further related material. Results Four groups of coupling relations were found: structural, dynamic, semantic and logical. A fifth set of coupling relations includes approaches too recent to be considered an independent group and measures developed for specific environments. The investigation also retrieved tools that extract the metrics belonging to each coupling group. Conclusion This study shows the directions followed by the research on software coupling: e.g., developing metrics for specific environments. Concerning the metric tools, three trends have emerged in recent years: use of visualization techniques, extensibility and scalability. Finally, some coupling metrics applications were presented (e.g., code smell detection), indicating possible future research directions. Public preprint [https://doi.org/10.5281/zenodo.2002001]

    Extension of Object-Oriented Metrics Suite for

    Get PDF
    Software developers require information to understand the characteristics of systems, such as complexity and maintainability. In order to further understand and determine characteristics of object-oriented (OO) systems, this paper describes research that identifies attributes that are valuable in determining the difficulty in implementing changes during maintenance, as well as the possible effects that such changes may produce. A set of metrics are proposed to quantify and measure these attributes. The proposed complexity metrics are used to determine the difficulty in implementing changes through the measurement of method complexity, method diversity, and complexity density. The paper establishes impact metrics to determine the potential effects of making changes to a class and dependence metrics that are used to measure the potential effects on a given class resulting from changes in other classes. The case study shows that the proposed metrics provide additional information not sufficiently provided by the related existing OO metrics. The metrics are also found to be useful in the investigation of large systems, correlating with project outcomes

    Inheritance Metrics for Object-Oriented Design

    Full text link

    Software Metrics for Package Remodularisation

    Get PDF
    There is a plethora of software metrics \cite{Lore94a, Fent96a, Hend96a, Han00a, Lanz06a} and a large amount of research articles. Still there is a lack for a serious and practically-oriented evaluation of metrics. Often metrics lack the property that the software reengineer or quality expert can easily understand the situation summarized by the metrics. In particular, since the exact notion of coupling and cohesion is complex, a particular focus on such point is important. In the first chapter of the present document, we present a list of software metrics, that are commonly used to measure object-oriented programs. In the second chapter we present our proposition for package metrics that capture package aspects such as information hiding and change impact limits
    corecore