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 条
  • [41] Extending decoupled software pipeline to parallelize Java']Java programs
    Loureiro, Andre
    Porto, Joao Paulo
    Araujo, Guido
    SOFTWARE-PRACTICE & EXPERIENCE, 2013, 43 (05): : 525 - 541
  • [42] Converting Java']Java programs to use generic libraries
    Donovan, A
    Kiezun, A
    Tschantz, MS
    Ernst, MD
    ACM SIGPLAN NOTICES, 2004, 39 (10) : 15 - 34
  • [43] An Empirical Study of Unused Design Decisions in Open Source Java']Java Software
    Tempero, Ewan
    APSEC 2008:15TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE, PROCEEDINGS, 2008, : 33 - 40
  • [44] An empirical study of software maintenance of a web-based Java']Java application
    Lee, MG
    Jefferson, TL
    ICSM 2005: PROCEEDINGS OF THE 21ST IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2005, : 571 - 576
  • [45] How do I write a Java']Java Servlet?
    Berg, C
    DR DOBBS JOURNAL, 1997, 22 (10): : 121 - &
  • [46] How Do Java']Java Mutation Tools Differ?
    Amalfitano, Domenico
    Paiva, Ana C. R.
    Inquel, Alexis
    Pinto, Luis
    Fasolino, Anna Rita
    Just, Rene
    COMMUNICATIONS OF THE ACM, 2022, 65 (12) : 74 - 89
  • [47] Software Composition Analysis for Vulnerability Detection: An Empirical Study on Java']Java Projects
    Zhao, Lida
    Chen, Sen
    Xu, Zhengzi
    Liu, Chengwei
    Zhang, Lyuye
    Wu, Jiahui
    Sun, Jun
    Liu, Yang
    PROCEEDINGS OF THE 31ST ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2023, 2023, : 960 - 972
  • [48] Learning the concept of Java inheritance in a game
    Zhang, Jinghua
    Caldwell, Elvira R.
    Smith, Emanuel
    Proceedings of CGAMES 2013 USA - 18th International Conference on Computer Games: AI, Animation, Mobile, Interactive Multimedia, Educational and Serious Games, 2013, : 212 - 216
  • [49] How do I process images with Java']Java?
    Cohen, AM
    DR DOBBS JOURNAL, 1998, 23 (07): : 109 - +
  • [50] How do I queue Java']Java threads?
    Criscolo, M
    DR DOBBS JOURNAL, 1998, 23 (10): : 127 - +