Abstract

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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call