A Statistical Evaluation of The Depth of Inheritance Tree Metric for Open-Source Applications Developed in Java']Java

被引:2
|
作者
Prykhodko, Sergiy [1 ]
Prykhodko, Natalia [2 ]
Smykodub, Tetyana [1 ]
机构
[1] Admiral Makarov Natl Univ Shipbldg, Dept Software Automated Syst, Heroes Ukraine Ave 9, UA-54025 Mykolaiv, Ukraine
[2] Admiral Makarov Natl Univ Shipbldg, Finance Dept, Heroes Ukraine Ave 9, UA-54025 Mykolaiv, Ukraine
关键词
statistical evaluation; software metric; depth of inheritance tree; open-source application; !text type='Java']Java[!/text; SYSTEMS;
D O I
10.2478/fcds-2021-0011
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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.
引用
收藏
页码:159 / 172
页数:14
相关论文
共 50 条
  • [21] Security Analysis of Web Open-Source Projects Based on Java']Java and PHP
    Yin, Zhen
    Lee, Scott Uk-Jin
    ELECTRONICS, 2023, 12 (12)
  • [22] Java']JavaDON: an open-source expert system shell
    Tomic, Bojan
    Jovanovic, Jelena
    Devedzic, Vladan
    EXPERT SYSTEMS WITH APPLICATIONS, 2006, 31 (03) : 595 - 606
  • [23] Tracking null checks in open-source Java systems
    SCG, University of Bern, Switzerland
    不详
    不详
    IEEE Int. Conf. on Softw. Anal., Evol., Reengineering, SANER, 2016, (304-313):
  • [24] BioJava']Java: an open-source framework for bioinformatics in 2012
    Prlic, Andreas
    Yates, Andrew
    Bliven, Spencer E.
    Rose, Peter W.
    Jacobsen, Julius
    Troshin, Peter V.
    Chapman, Mark
    Gao, Jianjiong
    Koh, Chuan Hock
    Foisy, Sylvain
    Holland, Richard
    Rimsa, Gediminas
    Heuer, Michael L.
    Brandstaetter-Mueller, H.
    Bourne, Philip E.
    Willis, Scooter
    BIOINFORMATICS, 2012, 28 (20) : 2693 - 2695
  • [25] Tatool: A Java']Java-based open-source programming framework for psychological studies
    von Bastian, Claudia C.
    Locher, Andre
    Ruflin, Michael
    BEHAVIOR RESEARCH METHODS, 2013, 45 (01) : 108 - 115
  • [26] Systematic Comparison of Six Open-source Java']Java Call Graph Construction Tools
    Jasz, Judit
    Siket, Istvan
    Pengo, Edit
    Sagodi, Zoltan
    Ferenc, Rudolf
    ICSOFT: PROCEEDINGS OF THE 14TH INTERNATIONAL CONFERENCE ON SOFTWARE TECHNOLOGIES, 2019, : 117 - 128
  • [27] On the nature of code cloning in open-source Java projects
    Golubev, Yaroslav
    Bryksin, Timofey
    arXiv, 2021,
  • [28] Java']Javadoc Violations and Their Evolution in Open-Source Software
    Steinbeck, Marcel
    Koschke, Rainer
    2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION AND REENGINEERING (SANER 2021), 2021, : 249 - 259
  • [29] jmzML, an open-source Java']Java API for mzML, the PSI standard for MS data
    Cote, Richard G.
    Reisinger, Florian
    Martens, Lennart
    PROTEOMICS, 2010, 10 (07) : 1332 - 1335
  • [30] Understanding semi-structured merge conflict characteristics in open-source Java']Java projects
    Accioly, Paola
    Borba, Paulo
    Cavalcanti, Guilherme
    EMPIRICAL SOFTWARE ENGINEERING, 2018, 23 (04) : 2051 - 2085