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 条
  • [1] An empirical study of evolution of inheritance in Java']Java OSS
    Nasseri, E.
    Counsell, S.
    Shepperd, M.
    ASWEC 2008: 19TH AUSTRALIAN SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2008, : 269 - 278
  • [2] What Programmers Do with Inheritance in Java']Java
    Tempero, Ewan
    Yang, Hong Yul
    Noble, James
    ECOOP 2013 - OBJECT-ORIENTED PROGRAMMING, 2013, 7920 : 577 - 601
  • [3] On multiple inheritance in Java']Java
    Bettini, L
    Loreti, M
    Venneri, B
    TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES, SYSTEMS AND ARCHITECTURES, 2003, 732 : 1 - 15
  • [4] Simulating multiple inheritance in Java']Java
    Tempero, E
    Biddle, R
    JOURNAL OF SYSTEMS AND SOFTWARE, 2000, 55 (01) : 87 - 100
  • [5] Simulating multiple inheritance in Java']Java
    Lyon, D
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2002, 14 (12): : 987 - 1008
  • [6] An empirical study of Java']Java bytecode programs
    Collberg, Christian
    Myles, Ginger
    Stepp, Michael
    SOFTWARE-PRACTICE & EXPERIENCE, 2007, 37 (06): : 581 - 641
  • [7] A Java']Java typestate checker supporting inheritance
    Bacchiani, Lorenzo
    Bravetti, Mario
    Giunti, Marco
    Mota, Joao
    Ravara, Antonio
    SCIENCE OF COMPUTER PROGRAMMING, 2022, 221
  • [8] Simulating multiple inheritance and generics in Java']Java
    Thirunarayan, K
    Kniesel, G
    Hampapuram, H
    COMPUTER LANGUAGES, 1999, 25 (04): : 189 - 210
  • [9] Systematically Refactoring Inheritance to Delegation in Java']Java
    Kegel, Hannes
    Steimann, Friedrich
    ICSE'08 PROCEEDINGS OF THE THIRTIETH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2008, : 431 - 440
  • [10] Class movement and re-location: An empirical study of Java']Java inheritance evolution
    Nassed, E.
    Counsell, S.
    Shepperd, M.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2010, 83 (02) : 303 - 315