Search citation statements
Paper Sections
Citation Types
Year Published
Publication Types
Relationship
Authors
Journals
Design defects affect project quality and hinder development and maintenance. Consequently, experts need to minimize these defects in software systems. A promising approach is to apply the concepts of refactoring at higher level of abstraction based on UML diagrams instead of code level. Unfortunately, we find in literature many defects that are described textually and there is no consensus on how to decide if a particular design violates model quality. Defects could be quantified as metrics based rules that represent a combination of software metrics. However, it is difficult to find manually the best threshold values for these metrics. In this paper, we propose a new approach to identify design defects at the model level using the ID3 decision tree algorithm. We aim to create a decision tree for each defect. We experimented our approach on four design defects: The Blob, Data class, Lazy class and Feature Envy defect, using 15 Object-Oriented metrics. The rules generated using decision tree give a very promising detection results for the four open source projects tested in this paper. In Lucene 1.4 project, we found that the precision is 67% for a recall of 100%. In general, the accuracy varies from 49%, reaching for Lucene 1.4 project 80%.INDEX TERMS Anti-patterns, Bad smells, Decision tree, Model refactoring, Object oriented metrics.
Design defects affect project quality and hinder development and maintenance. Consequently, experts need to minimize these defects in software systems. A promising approach is to apply the concepts of refactoring at higher level of abstraction based on UML diagrams instead of code level. Unfortunately, we find in literature many defects that are described textually and there is no consensus on how to decide if a particular design violates model quality. Defects could be quantified as metrics based rules that represent a combination of software metrics. However, it is difficult to find manually the best threshold values for these metrics. In this paper, we propose a new approach to identify design defects at the model level using the ID3 decision tree algorithm. We aim to create a decision tree for each defect. We experimented our approach on four design defects: The Blob, Data class, Lazy class and Feature Envy defect, using 15 Object-Oriented metrics. The rules generated using decision tree give a very promising detection results for the four open source projects tested in this paper. In Lucene 1.4 project, we found that the precision is 67% for a recall of 100%. In general, the accuracy varies from 49%, reaching for Lucene 1.4 project 80%.INDEX TERMS Anti-patterns, Bad smells, Decision tree, Model refactoring, Object oriented metrics.
Object-oriented programming (OOP) is prone to defects that negatively impact software quality. Detecting defects early in the development process is crucial for ensuring high-quality software, reducing maintenance costs, and increasing customer satisfaction. Several studies use the object-oriented metrics to identify design flaws both at the model level and at the code level. Metrics provide a quantitative measure of code quality by analyzing specific aspects of the software, such as complexity, cohesion, coupling, and inheritance. By examining these metrics, developers can identify potential defects in OOP, such as design defects and code smells. Unfortunately, we cannot assess the quality of an object-oriented program by using a single metric. Identifying design-defect-metric-based rules in an object-oriented program can be challenging due to the number of metrics. In fact, it is difficult to determine which metrics are the most relevant for identifying design defects. Additionally, multiple thresholds for each metric indicates different levels of quality and increases the difficulty to set clear and consistent rules. Hence, the problem of object-oriented metrics selection can be ascribed to a multi-criteria decision-making (MCDM) problem. Based on the experts’ judgement, we can identify the most appropriate metric for the detection of a specific defect. This paper presents our approach to reduce the number of metrics using one of the MCDM methods. Therefore, to identify the most important detection rules, we apply the fuzzy decision-making trial and evaluation laboratory (Fuzzy DEMATEL) method. We also classify the metrics into cause-and-effect groups. The results of our proposed approach, applied on four open-source projects, compared to our previous published results, confirm the efficiency of the MCDM and especially the Fuzzy DEMATEL method in selecting the best rules to identify design flaws. We increased the defect detection accuracy by the selection of rules containing important and interrelated metrics.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2025 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.