首页出版物导航 用户协会 博客
 精确匹配 高级检索 检索历史
河北工业大学
详细信息

Understanding the syntactic rule usage in java.

Title: Understanding the syntactic rule usage in java.
Authors: Qiu, Dong1 dongqiu@seu.edu.cn
Li, Bixin1 bx.li@seu.edu.cn
Barr, Earl T.2 e.barr@ucl.ac.uk
Su, Zhendong3 su@cs.ucdavis.edu
Source: Journal of Systems & Software. Jan2017, Vol. 123, p160-172. 13p.
Document Type: Article
Subject Terms: QUANTITATIVE research
JAVA (Computer program language)
SYNTAX in programming languages
COMPUTER engineering
COMPUTER scientists
Author-Supplied Keywords: Empirical study ; Language syntax ; Practical language usage
NAICS/Industry Codes: 334111 Electronic Computer Manufacturing ; 541514 Computer systems design and related services (except video game design and development)
Abstract: Context: Syntax is fundamental to any programming language: syntax defines valid programs. In the 1970s, computer scientists rigorously and empirically studied programming languages to guide and inform language design. Since then, language design has been artistic, driven by the aesthetic concerns and intuitions of language architects. Despite recent studies on small sets of selected language features, we lack a comprehensive, quantitative, empirical analysis of how modern, real-world source code exercises the syntax of its programming language. Objective: This study aims to understand how programming language syntax is employed in actual development and explore their potential applications based on the results of syntax usage analysis. Method: We present our results on the first such study on Java, a modern, mature, and widely-used programming language. Our corpus contains over 5000 open-source Java projects, totalling 150 million source lines of code (SLoC). We study both independent ( i.e. applications of a single syntax rule) and dependent ( i.e. applications of multiple syntax rules) rule usage, and quantify their impact over time and project size. Results: Our study provides detailed quantitative information and yields insight, particularly (i) confirming the conventional wisdom that the usage of syntax rules is Zipfian; (ii) showing that the adoption of new rules and their impact on the usage of pre-existing rules vary significantly over time; and (iii) showing that rule usage is highly contextual. Conclusions: Our findings suggest potential applications across language design, code suggestion and completion, automatic syntactic sugaring, and language restriction. [ABSTRACT FROM AUTHOR]
(Copyright applies to all Abstracts.)
Author Affiliations: 1School of Computer Science and Engineering, Southeast University, China ; 2Department of Computer Science, University College London, UK ; 3Department of Computer Science, University of California Davis, USA
ISSN: 0164-1212 (Sherpa/RoMEO, JCR)
PageCount: 160-173
volume: 123
issn: 01641212
pubdate: 2017
DOI: https://doi.org/10.1016/j.jss.2016.10.017
JCR分区:
ESI学科:
最新一年影响因子:
当年影响因子:
Custom Links: Full Text Finder