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 条
  • [21] Finjan - Security for Java']Java programs and other software
    Brown, E
    FORTUNE, 1997, 136 (01) : 84 - 86
  • [22] Documenting pattern use in Java']Java programs
    Torchiano, M
    INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2002, : 230 - 233
  • [23] The use of traces for inlining in Java']Java programs
    Bradel, BJ
    Abdelrahman, TS
    LANGUAGES AND COMPILERS FOR HIGH PERFORMANCE COMPUTING, 2005, 3602 : 179 - 193
  • [24] How Do Java']Java Methods Grow?
    Steidl, Daniela
    Deissenboeck, Florian
    2015 IEEE 15TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2015, : 151 - 160
  • [25] How do I print in Java']Java?
    Berg, C
    DR DOBBS JOURNAL, 1997, 22 (11): : 110 - +
  • [26] An Empirical Study on the Use and Misuse of Java']Java 8 Streams
    Khatchadourian, Raffi
    Tang, Yiming
    Bagherzadeh, Mehdi
    Ray, Baishakhi
    FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING (FASE 2020), 2020, 12076 : 97 - 118
  • [27] Verifying Nested Lock Priority Inheritance in RTEMS with Java']Java Pathfinder
    Gadia, Saurabh
    Artho, Cyrille
    Bloom, Gedare
    FORMAL METHODS AND SOFTWARE ENGINEERING, ICFEM 2016, 2016, 10009 : 417 - 432
  • [28] How do I use the Java']Java plug-in tool?
    Jennings, M
    DR DOBBS JOURNAL, 2002, 27 (01): : 93 - +
  • [29] How Scale Affects Structure in Java']Java Programs
    Lopes, Cristina V.
    Ossher, Joel
    ACM SIGPLAN NOTICES, 2015, 50 (10) : 675 - 694
  • [30] 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