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
Citation
ALQAIMI, Anwar; THONGTANUNAM, Patanamon; and TREUDE, Christoph.
Automatically generating documentation for lambda expressions in Java. (2019). Proceedings of the 16th International Conference on Mining Software Repositories, Montreal, Canada, 2019 May 26-27. 310-320.
Available at: https://ink.library.smu.edu.sg/sis_research/8828
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1109/MSR.2019.00057