Publication Type

Conference Proceeding Article

Version

acceptedVersion

Publication Date

5-2019

Abstract

When lambda expressions were introduced to the Java programming language as part of the release of Java 8 in 2014, they were the language’s first step into functional programming. Since lambda expressions are still relatively new, not all developers use or understand them. In this paper, we first present the results of an empirical study to determine how frequently developers of GitHub repositories make use of lambda expressions and how they are documented. We find that 11% of Java GitHub repositories use lambda expressions, and that only 6% of the lambda expressions are accompanied by source code comments. We then present a tool called LAMBDADOC which can automatically detect lambda expressions in a Java repository and generate natural language documentation for them. Our evaluation of LAMBDADOC with 23 professional developers shows that they perceive the generated documentation to be complete, concise, and expressive, while the majority of the documentation produced by our participants without tool support was inadequate. Our contribution builds an important step towards automatically generating documentation for functional programming constructs in an object-oriented language

Keywords

Documentation generation, Lambda expressions

Discipline

Programming Languages and Compilers | Software Engineering

Research Areas

Software and Cyber-Physical Systems

Publication

Proceedings of the 16th International Conference on Mining Software Repositories, Montreal, Canada, 2019 May 26-27

First Page

310

Last Page

320

ISBN

9781728134123

Identifier

10.1109/MSR.2019.00057

Publisher

IEEE Computer Society

City or Country

Piscataway, NJ

Additional URL

https://doi.org/10.1109/MSR.2019.00057

Share

COinS