How do Java']Java programs use inheritance? An empirical study of inheritance in Java']Java software

被引:0
|
作者
Tempero, Ewan [1 ]
Noble, James [2 ]
Melton, Hayden [1 ]
机构
[1] Univ Auckland, Dept Comp Sci, Auckland, New Zealand
[2] Victoria Univ Wellington, Sch Math Stat & Comp Sci, Wellington, New Zealand
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Inheritance is a crucial part of object-oriented programming, but its use in practice, and the resulting large-scale inheritance structures in programs, remain poorly understood. Previous studies of inheritance have been relatively small and have generally not considered issues such as Java's distinction between classes and interfaces, nor have they considered the use of external libraries. In this paper we present the first substantial empirical study of the large-scale use of inheritance in a contemporary 00 programming language. We present a Suite of structured metrics for quantifying inheritance in Java programs. We present the results of performing a corpus analysis using those metrics to over 90 applications consisting of over 100,000 separate classes and interfaces. Our analysis finds higher use of inheritance than anticipated, variation in the use of inheritance between interfaces and classes, and differences between inheritance within application types compared with inheritance from external libraries.
引用
收藏
页码:667 / +
页数:4
相关论文
共 50 条
  • [31] How Scale Affects Structure in Java']Java Programs
    Lopes, Cristina V.
    Ossher, Joel
    ACM SIGPLAN NOTICES, 2015, 50 (10) : 675 - 694
  • [32] How Good is your Comment? A study of Comments in Java']Java Programs
    Haouari, Dorsaf
    Sahraoui, Houari
    Langlais, Philippe
    2011 FIFTH INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT (ESEM 2011), 2011, : 137 - 146
  • [33] Changing Java']Java programs
    Eisenbach, S
    Sadler, C
    IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS: SYSTEMS AND SOFTWARE EVOLUTION IN THE ERA OF THE INTERNET, 2001, : 479 - 487
  • [34] A Quantitative Study of Java']Java Software Buildability
    Sulir, Matus
    Poruban, Jaroslav
    PLATEAU'16: PROCEEDINGS OF THE 7TH INTERNATIONAL WORKSHOP ON EVALUATION AND USABILITY OF PROGRAMMING LANGUAGES AND TOOLS, 2016, : 17 - 25
  • [35] Casting about in the Dark An Empirical Study of Cast Operations in Java']Java Programs
    Mastrangelo, Luis
    Hauswirth, Matthias
    Nystrom, Nathaniel
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2019, 3 (OOPSLA):
  • [36] Barriers to Modularity - An Empirical Study to Assess the Potential for Modularisation of Java']Java Programs
    Dietrich, Jens
    McCartin, Catherine
    Tempero, Ewan
    Shah, Syed M. Ali
    RESEARCH INTO PRACTICE-REALITY AND GAPS, PROCEEDINGS, 2010, 6093 : 135 - +
  • [37] On the visualization of Java']Java programs
    Eichelberger, H
    von Gudenberg, JW
    SOFTWARE VISUALIZATION, 2002, 2269 : 295 - 306
  • [38] The treewidth of Java']Java programs
    Gustedt, J
    Mæhle, OA
    Telle, JA
    ALGORITHM ENGINEERING AND EXPERIMENTS, 2002, 2409 : 86 - 97
  • [39] An Empirical Study of Method Chaining in Java']Java
    Nakamaru, Tomoki
    Matsunaga, Tomomasa
    Yamazaki, Tetsuro
    Akiyama, Soramichi
    Chiba, Shigeru
    2020 IEEE/ACM 17TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES, MSR, 2020, : 93 - 102
  • [40] Formal analysis of Java']Java programs in Java']JavaFAN
    Farzan, A
    Chen, F
    Meseguer, J
    Rosu, G
    COMPUTER AIDED VERIFICATION, 2004, 3114 : 501 - 505