Selection and presentation practices for code example summarization

@article{Ying2014SelectionAP,
  title={Selection and presentation practices for code example summarization},
  author={Annie T. T. Ying and Martin P. Robillard},
  journal={Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering},
  year={2014}
}
  • Annie T. T. Ying, M. Robillard
  • Published 11 November 2014
  • Computer Science
  • Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
Code examples are an important source for answering questions about software libraries and applications. Many usage contexts for code examples require them to be distilled to their essence: e.g., when serving as cues to longer documents, or for reminding developers of a previously known idiom. We conducted a study to discover how code can be summarized and why. As part of the study, we collected 156 pairs of code examples and their summaries from 16 participants, along with over 26 hours of… 

Figures and Tables from this paper

How Can I Use This Method?
TLDR
MUSE (Method USage Examples), an approach for mining and ranking actual code examples that show how to use a specific method, combines static slicing with clone detection, and uses heuristics to select and rank the best examples in terms of reusability, understandability, and popularity.
Towards automatic context-aware summarization of code entities
TLDR
The results show that the automatically produced summaries can reduce time and effort to understand the usage of code entities and can be used within an IDE such as Eclipse to assist developers during their software maintenance and evolution tasks.
Summarizing Software Artifacts: A Literature Review
TLDR
A literature review in the field of summarizing software artifacts, focusing on bug reports, source code, mailing lists and developer discussions artifacts, describing the type of artifacts, approaches for summarization, as well as the common portions of experimental procedures shared among these artifacts is presented.
An Empirical Study on Code Comment Completion
TLDR
This large-scale study empirically assess how a simple n-gram model and the recently proposed Text-To-Text Transfer Transformer (T5) architecture can perform in autocompleting a code comment the developer is typing.
Automatic summarization of API reviews
  • Gias Uddin, F. Khomh
  • Computer Science
    2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)
  • 2017
TLDR
It was found that developers were interested to use the proposed summaries much more frequently than other summaries and that while combined with Stack Overflow, Opiner helped developers to make the right decision with more accuracy and confidence and in less time.
Automatically Documenting Unit Test Cases
TLDR
A novel approach - UnitTestScribe - that combines static analysis, natural language processing, backward slicing, and code summarization techniques to automatically generate natural language documentation of unit test cases is proposed.
Automated Documentation of Android Apps
TLDR
This work presents ADANA, an approach to automatically inject comments describing a given piece of Android code that reuses the descriptions of similar and well-documented code snippets retrieved from various online resources.
Understanding How and Why Developers Seek and Analyze API-Related Opinions
TLDR
It is observed that developers seek API reviews and often have to summarize those for diverse development needs and believe that automated tool support for API reviews analysis can assist in diverse development scenarios, including, for example, saving time in API selection as well as making informed decisions on a particular API features.
An Empirical Investigation into the Use of Image Captioning for Automated Software Documentation
TLDR
This paper investigates the ability of four Neural Image Captioning models to predict natural language descriptions of varying granularity when provided a screenshot as input, and examines the potential shown by multimodal models to enhance future techniques for automated software documentation.
...
1
2
3
4
...

References

SHOWING 1-10 OF 41 REFERENCES
On the Use of Automated Text Summarization Techniques for Summarizing Source Code
TLDR
The paper presents a solution which mitigates the two approaches, i.e., short and accurate textual descriptions that illustrate the software entities without having to read the details of the implementation.
Automatic generation of natural language summaries for Java classes
TLDR
This paper presents a technique to automatically generate human readable summaries for Java classes, assuming no documentation exists, and determines that they are readable and understandable, they do not include extraneous information, and, in most cases, they are not missing essential information.
Improving automated source code summarization via an eye-tracking study of programmers
TLDR
An eye-tracking study of 10 professional Java programmers in which the programmers read Java methods and wrote English summaries of those methods is presented and the findings are applied to build a novel summarization tool.
What makes a good code example?: A study of programming Q&A in StackOverflow
TLDR
A qualitative analysis of the questions and answers posted to a programming Q&A web site called StackOverflow identified haracteristics of effective examples and found that the explanations acompanying examples are as important as the examples themselves.
Enriching Documents with Examples: A Corpus Mining Approach
TLDR
This work proposes a novel code example recommendation system that combines the strength of browsing documents and searching for code examples and returns API documents embedded with high-quality code example summaries mined from the Web.
Towards automatically generating summary comments for Java methods
TLDR
A novel technique to automatically generate descriptive summary comments for Java methods is presented, given the signature and body of a method, which identifies the content for the summary and generates natural language text that summarizes the method's overall actions.
Code fragment summarization
TLDR
This algorithm based on machine learning could approximate summaries in an oracle manually generated by humans with a precision of 0.71, promising as summaries with this level of precision achieved the same level of agreement as human annotators with each other.
Leveraging usage similarity for effective retrieval of examples in code repositories
TLDR
This paper presents Structural Semantic Indexing (SSI), a technique to associate words to source code entities based on similarities of API usage to show that entities that show similar uses of APIs are semantically related because they do similar things.
Synthesizing API usage examples
TLDR
This work presents an automatic technique for mining and synthesizing succinct and representative human-readable documentation of program interfaces which produces output in the form of well-typed program snippets which document initialization, method calls, assignments, looping constructs, and exception handling.
Generating natural language summaries for crosscutting source code concerns
TLDR
This work introduces an automated approach that produces a natural language summary that describes both what the concern is and how the concerns are implemented, and presents the results of an experiment in which programmers were able to perform change tasks more efficiently and more easily with generated concern summaries.
...
1
2
3
4
5
...