What Programmers Do with Inheritance in Java']Java

被引:0
|
作者
Tempero, Ewan [1 ]
Yang, Hong Yul [1 ]
Noble, James [2 ]
机构
[1] Univ Auckland, Auckland 1, New Zealand
[2] Victoria Univ Wellington, Sch Engn & Comp Sci, Wellington, New Zealand
来源
关键词
METRICS SUITE;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Inheritance is a distinguishing feature of object-oriented programming languages, but its application in practice remains poorly understood. Programmers employ inheritance for a number of different purposes: to provide subtyping, to reuse code, to allow subclasses to customise superclasses' behaviour, or just to categorise objects. We present an empirical study of 93 open-source Java software systems consisting over over 200,000 classes and interfaces, supplemented by longitudinal analyses of 43 versions of two systems. Our analysis finds inheritance is used for two main reasons: to support subtyping and to permit what we call external code reuse. This is the first empirical study to indicate what programmers do with inheritance.
引用
收藏
页码:577 / 601
页数:25
相关论文
共 50 条
  • [1] How do Java']Java programs use inheritance? An empirical study of inheritance in Java']Java software
    Tempero, Ewan
    Noble, James
    Melton, Hayden
    ECOOP 2008 - OBJECT-ORIENTED PROGRAMMING, PROCEEDINGS, 2008, 5142 : 667 - +
  • [2] Perceptions of Java']Java - Experienced programmers' perspective
    Benander, AC
    Benander, BA
    Lin, M
    JOURNAL OF COMPUTER INFORMATION SYSTEMS, 2003, 43 (04) : 1 - 7
  • [3] An assembler and disassembler framework for Java']Java™ programmers
    Mathiske, Bernd
    Simon, Doug
    Ungar, Dave
    SCIENCE OF COMPUTER PROGRAMMING, 2008, 70 (2-3) : 127 - 148
  • [4] An interactive environment for beginning Java']Java programmers
    Goldman, KJ
    SCIENCE OF COMPUTER PROGRAMMING, 2004, 53 (01) : 3 - 24
  • [5] On multiple inheritance in Java']Java
    Bettini, L
    Loreti, M
    Venneri, B
    TECHNOLOGY OF OBJECT-ORIENTED LANGUAGES, SYSTEMS AND ARCHITECTURES, 2003, 732 : 1 - 15
  • [6] Object-orientation in Java']Java for scientific programmers
    Bishop, J
    Bishop, N
    SIGCSE 2000: PROCEEDINGS OF THE THIRTY-FIRST SIGCSE TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2000, 32 (01): : 357 - 361
  • [7] How Java']Java Programmers Test Exceptional Behavior
    Marcilio, Diego
    Furia, Carlo A.
    2021 IEEE/ACM 18TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2021), 2021, : 207 - 218
  • [8] Simulating multiple inheritance in Java']Java
    Tempero, E
    Biddle, R
    JOURNAL OF SYSTEMS AND SOFTWARE, 2000, 55 (01) : 87 - 100
  • [9] Simulating multiple inheritance in Java']Java
    Lyon, D
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2002, 14 (12): : 987 - 1008
  • [10] Assisting Programmers Resolving Vulnerabilities in Java']Java Web Applications
    Bathia, Pranjal
    Beerelli, Bharath Reddy
    Laverdiere, Marc-Andre
    ADVANCED COMPUTING, PT III, 2011, 133 : 268 - 279