Automatically Generating Documentation for Lambda Expressions in Java
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.
Mon 27 MayDisplayed time zone: Eastern Time (US & Canada) change
08:45 - 09:30 | Session II: Automatic SummarizationMSR 2019 Technical Papers at Centre-Ville Chair(s): Xin Xia Monash University | ||
08:45 15mFull-paper | Generating Commit Messages from Diffs using Pointer-generator Network MSR 2019 Technical Papers Qin Liu , Zihe Liu School of Software Engineering, Tongji University, Shanghai, China, Hongming Zhu , Hongfei Fan , Bowen Du , Yu Qian | ||
09:00 15mFull-paper | Automatically Generating Documentation for Lambda Expressions in Java MSR 2019 Technical Papers Anwar Alqaimi , Patanamon Thongtanunam The University of Melbourne, Christoph Treude The University of Adelaide Pre-print | ||
09:15 15mFull-paper | Extracting API Tips from Developer Question and Answer Websites MSR 2019 Technical Papers |