Campus Units

Computer Science

Document Type

Conference Proceeding

Conference

ICSE International Conference on Software Engineering

Publication Version

Accepted Manuscript

Link to Published Version

https://doi.org/10.1145/2568225.2568295

Publication Date

5-31-2014

Journal or Book Title

ICSE 2014 Proceedings of the 36th International Conference on Software Engineering

First Page

779

Last Page

790

DOI

10.1145/2568225.2568295

Conference Title

36th International Conference on Software Engineering

Conference Date

May 31-June 7, 2014

City

Hyderabad, India

Abstract

Programming languages evolve over time, adding additional language features to simplify common tasks and make the language easier to use. For example, the Java Language Specification has four editions and is currently drafting a fifth. While the addition of language features is driven by an assumed need by the community (often with direct requests for such features), there is little empirical evidence demonstrating how these new features are adopted by developers once released. In this paper, we analyze over 31k open-source Java projects representing over 9 million Java files, which when parsed contain over 18 billion AST nodes. We analyze this corpus to find uses of new Java language features over time. Our study gives interesting insights, such as: there are millions of places features could potentially be used but weren't; developers convert existing code to use new features; and we found thousands of instances of potential resource handling bugs.

Comments

This is a manucript of a proceeding published as Dyer, Robert, Hridesh Rajan, Hoan Anh Nguyen, and Tien N. Nguyen. "Mining billions of AST nodes to study actual and potential usage of Java language features." In Proceedings of the 36th International Conference on Software Engineering, pp. 779-790. ACM, 2014. doi: 10.1145/2568225.2568295. Posted with permission.

Rights

© ACM, 2014. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 36th International Conference on Software Engineering, pp. 779-790. ACM, 2014. https://doi.org/10.1145/2568225.2568295

Copyright Owner

Association for Computing Machinery

Language

en

File Format

application/pdf

Published Version

Share

Article Location

 
COinS