An analysis of programming language statement frequency in C, C plus plus , and Java']Java source code

被引:3
|
作者
Zhu, Xiaoyan [1 ]
Whitehead, E. James [2 ]
Sadowski, Caitlin [2 ]
Song, Qinbao [1 ]
机构
[1] Xi An Jiao Tong Univ, Xian 710049, Shaanxi, Peoples R China
[2] Univ Calif Santa Cruz, Santa Cruz, CA 95064 USA
来源
SOFTWARE-PRACTICE & EXPERIENCE | 2015年 / 45卷 / 11期
基金
中国国家自然科学基金;
关键词
statement frequency; metrics; source code; EMPIRICAL-ANALYSIS; C++;
D O I
10.1002/spe.2298
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Statement frequency data can inform programming language research and provide a solid basis for frequency-based code analysis. This paper presents an analysis of programming language statement frequency in a large corpus of C, C++, and Java source code, comprised of more than 54 million lines of code. Across these languages, the top four work-performing statement types are Method/Function Call, Assignment, If, and Return. As compared to studies of Formula Translating System, Common Business Oriented Language and Programming Language One in the 1970s, the main change is the prevalence of method/function calls. Statement use frequency across languages is remarkably similar, and within each individual language, most statement types have a frequency distribution that occupies a small range. A more detailed examination of assignment and looping statement types shows that many assignments simply involve copying of data and that C++/Java use for statements more than C. Copyright (C) 2014 John Wiley & Sons, Ltd.
引用
收藏
页码:1479 / 1495
页数:17
相关论文
共 50 条
  • [1] Mixed language programming in C/C plus plus and Java']Java for applications in mechatronic systems
    Cheetancheri, Kabileshkumar G.
    Cheng, Harry H.
    PROCEEDINGS OF THE 2006 IEEE/ASME INTERNATIONAL CONFERENCE ON MECHATRONIC AND EMBEDDED SYSTEMS AND APPLICATIONS, 2006, : 286 - +
  • [2] Java']Java and C plus
    Kay, J
    DR DOBBS JOURNAL, 1996, 21 (11): : 8 - +
  • [3] Reasoning about Functional Programming in Java']Java and C plus
    Cok, David R.
    COMPANION PROCEEDINGS FOR THE ISSTA/ECOOP 2018 WORKSHOPS, 2018, : 37 - 39
  • [4] Formalization of Memory Transfer Language with C, C plus plus and Java']Java on the Mold of Register Transfer Language
    Mselle, Leonard J.
    2014 INTERNATIONAL CONFERENCE ON INFORMATION SCIENCE AND APPLICATIONS (ICISA), 2014,
  • [5] Coverage of CS1 Programming Concepts in C plus plus and Java']Java Textbooks
    McMaster, Kirby
    Rague, Brian
    Sambasivam, Samuel
    Wolthuis, Stuart
    2016 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE), 2016,
  • [6] MULTIPAS: JAVA']JAVA, C plus plus AND C# TO OCTAVE BRIDGES
    Garcia, Begona
    Mendez, Amaia
    Ruiz, Ibon
    Vicente, Javier
    2009 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, VOLS 1- 8, PROCEEDINGS, 2009, : 2313 - 2316
  • [7] Processing Java']Java UDFs in a C plus plus environment
    Rosenfeld, Viktor
    Mueller, Rene
    Tozun, Pinar
    Ozcan, Fatma
    PROCEEDINGS OF THE 2017 SYMPOSIUM ON CLOUD COMPUTING (SOCC '17), 2017, : 419 - 431
  • [8] Safe coding practices - Tips and tricks for C, C plus plus , and Java']Java
    Fisher, Gwyn
    DR DOBBS JOURNAL, 2008, 33 (10): : 24 - +
  • [9] McC plus plus /Java']Java: Enabling Multi-core Based Monitoring and Fault Tolerance in C plus plus /Java']Java
    Yang, Lu
    Yu, Liqian
    Tang, Jianwen
    Wang, Linzhang
    Zhao, Jianhua
    Li, Xuandong
    2010 15TH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS 2010), 2010, : 255 - 256
  • [10] Analysis and Code Model Extraction for C/C plus plus Source Code
    Wagner, Christian
    Margaria, Tiziana
    Pagendarm, Hans-Georg
    2009 14TH IEEE INTERNATIONAL CONFERENCE ON ENGINEERING OF COMPLEX COMPUTER SYSTEMS (ICECCS), 2009, : 110 - +