{"title":"用Java开发的开源应用程序的继承树深度度量的统计评价","authors":"S. Prykhodko, N. Prykhodko, T. Smykodub","doi":"10.2478/fcds-2021-0011","DOIUrl":null,"url":null,"abstract":"Abstract The Depth of Inheritance Tree (DIT) metric, along with other ones, is used for estimating some quality indicators of software systems, including open-source applications (apps). In cases involving multiple inheritances, at a class level, the DIT metric is the maximum length from the node to the root of the tree. At an application (app) level, this metric defines the corresponding average length per class. It is known, at a class level, a DIT value between 2 and 5 is good. At an app level, similar recommended values for the DIT metric are not known. To find the recommended values for the DIT mean of an app we have proposed to use the confidence and prediction intervals. A DIT mean value of an app from the confidence interval is good since this interval indicates how reliable the estimate is for the DIT mean values of all apps used for estimating the interval. A DIT mean value higher than an upper bound of prediction interval may indicate that some classes have a large number of the inheritance levels from the object hierarchy top. What constitutes greater app design complexity as more classes are involved. We have estimated the confidence and prediction intervals of the DIT mean using normalizing transformations for the data sample from 101 open-source apps developed in Java hosted on GitHub for the 0.05 significance level.","PeriodicalId":42909,"journal":{"name":"Foundations of Computing and Decision Sciences","volume":"46 1","pages":"159 - 172"},"PeriodicalIF":1.8000,"publicationDate":"2021-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":"{\"title\":\"A Statistical Evaluation of The Depth of Inheritance Tree Metric for Open-Source Applications Developed in Java\",\"authors\":\"S. Prykhodko, N. Prykhodko, T. Smykodub\",\"doi\":\"10.2478/fcds-2021-0011\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Abstract The Depth of Inheritance Tree (DIT) metric, along with other ones, is used for estimating some quality indicators of software systems, including open-source applications (apps). In cases involving multiple inheritances, at a class level, the DIT metric is the maximum length from the node to the root of the tree. At an application (app) level, this metric defines the corresponding average length per class. It is known, at a class level, a DIT value between 2 and 5 is good. At an app level, similar recommended values for the DIT metric are not known. To find the recommended values for the DIT mean of an app we have proposed to use the confidence and prediction intervals. A DIT mean value of an app from the confidence interval is good since this interval indicates how reliable the estimate is for the DIT mean values of all apps used for estimating the interval. A DIT mean value higher than an upper bound of prediction interval may indicate that some classes have a large number of the inheritance levels from the object hierarchy top. What constitutes greater app design complexity as more classes are involved. We have estimated the confidence and prediction intervals of the DIT mean using normalizing transformations for the data sample from 101 open-source apps developed in Java hosted on GitHub for the 0.05 significance level.\",\"PeriodicalId\":42909,\"journal\":{\"name\":\"Foundations of Computing and Decision Sciences\",\"volume\":\"46 1\",\"pages\":\"159 - 172\"},\"PeriodicalIF\":1.8000,\"publicationDate\":\"2021-06-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Foundations of Computing and Decision Sciences\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.2478/fcds-2021-0011\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q3\",\"JCRName\":\"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Foundations of Computing and Decision Sciences","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.2478/fcds-2021-0011","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q3","JCRName":"COMPUTER SCIENCE, ARTIFICIAL INTELLIGENCE","Score":null,"Total":0}
引用次数: 2
摘要
继承树深度(Depth of Inheritance Tree, DIT)度量与其他度量一起,用于评估软件系统(包括开源应用程序)的一些质量指标。在涉及多个继承的情况下,在类级别上,DIT度量是从节点到树的根的最大长度。在应用程序级别,这个指标定义了每个类相应的平均长度。众所周知,在类级别上,DIT值在2到5之间是好的。在应用程序级别,不知道DIT度量的类似推荐值。为了找到应用程序的DIT平均值的推荐值,我们建议使用置信区间和预测区间。来自置信区间的应用程序的DIT平均值是好的,因为这个区间表明用于估计区间的所有应用程序的DIT平均值的估计有多可靠。如果DIT平均值高于预测区间的上限,则可能表明某些类具有大量来自对象层次结构顶部的继承级别。当涉及到更多的类时,是什么构成了更大的应用设计复杂性。我们对101个开源应用程序的数据样本使用归一化转换,估计了DIT平均值的置信度和预测区间,这些应用程序是用Java开发的,托管在GitHub上,显著性水平为0.05。
A Statistical Evaluation of The Depth of Inheritance Tree Metric for Open-Source Applications Developed in Java
Abstract The Depth of Inheritance Tree (DIT) metric, along with other ones, is used for estimating some quality indicators of software systems, including open-source applications (apps). In cases involving multiple inheritances, at a class level, the DIT metric is the maximum length from the node to the root of the tree. At an application (app) level, this metric defines the corresponding average length per class. It is known, at a class level, a DIT value between 2 and 5 is good. At an app level, similar recommended values for the DIT metric are not known. To find the recommended values for the DIT mean of an app we have proposed to use the confidence and prediction intervals. A DIT mean value of an app from the confidence interval is good since this interval indicates how reliable the estimate is for the DIT mean values of all apps used for estimating the interval. A DIT mean value higher than an upper bound of prediction interval may indicate that some classes have a large number of the inheritance levels from the object hierarchy top. What constitutes greater app design complexity as more classes are involved. We have estimated the confidence and prediction intervals of the DIT mean using normalizing transformations for the data sample from 101 open-source apps developed in Java hosted on GitHub for the 0.05 significance level.