Autofolding for Source Code Summarization

@article{Fowkes2017AutofoldingFS,
  title={Autofolding for Source Code Summarization},
  author={Jaroslav M. Fowkes and Pankajan Chanthirasegaran and Razvan Ranca and Miltiadis Allamanis and Mirella Lapata and Charles Sutton},
  journal={IEEE Transactions on Software Engineering},
  year={2017},
  volume={43},
  pages={1095-1109}
}
Developers spend much of their time reading and browsing source code, raising new opportunities for summarization methods. Indeed, modern code editors provide code folding, which allows one to selectively hide blocks of code. However this is impractical to use as folding decisions must be made manually or based on simple rules. We introduce the autofolding problem, which is to automatically create a code summary by folding less informative code regions. We present a novel solution by… Expand
TASSAL: Autofolding for Source Code Summarization
TLDR
TASSAL is presented, a novel tool that automatically creates a summary of each source file in a project by folding its least salient code regions, to help developers who are unfamiliar with a new codebase and are attempting to understand it. Expand
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. Expand
A Human Study of Comprehension and Code Summarization
TLDR
A human study involving both university students and professional developers found that participants performed significantly better using human-written summaries versus machine-generated summaries, but found no evidence to support that participants perceive human- and machine- generated summaries to have different qualities. Expand
Action Word Prediction for Neural Source Code Summarization
TLDR
This paper advocates for a special emphasis on action word prediction as an important stepping stone problem towards better code summarization, and shows the value of the problem for code summaries, explore the performance of current baselines, and provide recommendations for future research. Expand
Automatic Code Summarization: A Systematic Literature Review
TLDR
A systematic literature review over the automatic source code summarization field provides an overview of the state of the art, and sheds light on future research directions of program comprehension and comment generation. Expand
SeCNN: A semantic CNN parser for code comment generation
  • Zheng Li, Yonghao Wu, +4 authors Deli Yu
  • Computer Science
  • J. Syst. Softw.
  • 2021
TLDR
A novel Semantic CNN parser SeCNN is proposed for code comment generation and uses a CNN (Convolutional Neural Network) to alleviate the long-dependency problem and design several novel components to capture the semantic information of the source code. Expand
Method Level Text Summarization for Java Code Using Nano-Patterns
TLDR
This paper proposes a text summarization approach for Java code that makes use of identification of code level nano-patterns to obtain text summary and uses a template based text generation to obtain the final text summary of the Java method. Expand
Generating Summaries for Methods of Event-Driven Programs: an Android Case Study
TLDR
This work proposes a novel approach based on deep neural networks and dynamic call graphs to generate summaries for methods of event-driven programs and assessed the informativeness and naturalness of the generated summaries from developers' perspectives and showed they are sufficiently understandable and informative. Expand
Automatic Source Code Documentation using Code Summarization Technique of NLP
TLDR
A novel system is proposed to automate thesource code documentation process for C programming language using the source code summarization technique of NLP, which can successfully generate the documentation for a C program along with predefined and user-defined methods using Natural Language Generation technique. Expand
...
1
2
3
4
...

References

SHOWING 1-10 OF 73 REFERENCES
TASSAL: Autofolding for Source Code Summarization
TLDR
TASSAL is presented, a novel tool that automatically creates a summary of each source file in a project by folding its least salient code regions, to help developers who are unfamiliar with a new codebase and are attempting to understand it. Expand
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. Expand
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. Expand
Supporting program comprehension with source code summarization
TLDR
An approach to automatically determine simple textual descriptions of source code entities that developers can grasp easily, while capturing the code semantics precisely is proposed, based on automated text summarization technology. Expand
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. Expand
Evaluating source code summarization techniques: Replication and expansion
TLDR
A new topic modeling based approach to source code summarization is proposed, and via a study of 14 developers, source code summaries generated using the proposed technique are evaluated. Expand
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. Expand
Automatically detecting and describing high level actions within methods
TLDR
This work presents an automatic technique for identifying code fragments that implement high level abstractions of actions and expressing them as a natural language description andJudgements of the generated descriptions by 15 experienced Java programmers strongly suggest that indeed they view the fragments that the authors identify as representing high level actions and their synthesized descriptions accurately express the abstraction. Expand
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. Expand
Mining source code repositories at massive scale using language modeling
TLDR
This paper builds the first giga-token probabilistic language model of source code, based on 352 million lines of Java, and proposes new metrics that measure the complexity of a code module and the topical centrality of a module to a software project. Expand
...
1
2
3
4
5
...