{"url":"/task/code-summarization","name":"Source Code Summarization","slug":"code-summarization","description_markdown":"**Code Summarization** is a task that tries to comprehend code and automatically generate descriptions directly from the source code.\r\n\r\n\r\n<span class=\"description-source\">Source: [Improving Automatic Source Code Summarization via Deep Reinforcement Learning ](https://arxiv.org/abs/1811.07234)</span>","categories":[{"name":"Computer Code","url":"/area/computer-code"},{"name":"Natural Language Processing","url":"/area/natural-language-processing"}],"source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","slug_source":"archive_url"},"counts":{"papers_tagged":58,"papers_with_code":39,"benchmarks":9,"benchmark_tables_in_archive":9,"benchmark_tables_shown":9,"benchmark_tables_withheld_as_spam":0,"benchmark_definition":"a leaderboard table with at least one row; benchmark_tables_shown also counts the zero-row tables; benchmark_tables_in_archive adds the tables withheld as spam","datasets":7,"subtasks":1,"parent_tasks":0},"benchmarks":[{"leaderboard":"/sota/source-code-summarization-on-deepcom-java","slug":"source-code-summarization-on-deepcom-java","dataset":"DeepCom-Java","dataset_url":"/dataset/deepcom-java","rows_in_archive":2,"metrics":["BLEU-4","METEOR"],"first_row_in_archive_order":{"model":"AdaMo-noise","paper_title":"Assemble Foundation Models for Automatic Code Summarization","paper_url":"/paper/assemble-foundation-models-for-automatic-code","paper_date":"2022-01-13","arxiv_id":"2201.05222","code_links":[{"title":"jianguda/afm4acs","url":"https://github.com/jianguda/afm4acs"}],"syntology":null}},{"leaderboard":"/sota/source-code-summarization-on-parallelcorpus","slug":"source-code-summarization-on-parallelcorpus","dataset":"ParallelCorpus-Python","dataset_url":"/dataset/parallelcorpus-python","rows_in_archive":2,"metrics":["BLEU-4","METEOR"],"first_row_in_archive_order":{"model":"AdaMo-noise","paper_title":"Assemble Foundation Models for Automatic Code Summarization","paper_url":"/paper/assemble-foundation-models-for-automatic-code","paper_date":"2022-01-13","arxiv_id":"2201.05222","code_links":[{"title":"jianguda/afm4acs","url":"https://github.com/jianguda/afm4acs"}],"syntology":null}},{"leaderboard":"/sota/code-summarization-on-codesearchnet","slug":"code-summarization-on-codesearchnet","dataset":"CodeSearchNet","dataset_url":"/dataset/codesearchnet","rows_in_archive":1,"metrics":["F1"],"first_row_in_archive_order":{"model":"ContraCode","paper_title":"Contrastive Code Representation Learning","paper_url":"/paper/contrastive-code-representation-learning","paper_date":"2020-07-09","arxiv_id":"2007.04973","code_links":[{"title":"parasj/contracode","url":"https://github.com/parasj/contracode"}],"syntology":null}},{"leaderboard":"/sota/source-code-summarization-on-codesc","slug":"source-code-summarization-on-codesc","dataset":"CoDesc","dataset_url":"/dataset/codesc","rows_in_archive":1,"metrics":["BLEU-4"],"first_row_in_archive_order":{"model":"Transformer","paper_title":"CoDesc: A Large Code-Description Parallel Dataset","paper_url":"/paper/codesc-a-large-code-description-parallel","paper_date":"2021-05-29","arxiv_id":"2105.14220","code_links":[{"title":"csebuetnlp/CoDesc","url":"https://github.com/csebuetnlp/CoDesc"}],"syntology":{"n":8,"n_ran":1,"n_unverified":7,"n_pointer_only":0}}},{"leaderboard":"/sota/source-code-summarization-on-codesearchnet","slug":"source-code-summarization-on-codesearchnet","dataset":"CodeSearchNet - Python","dataset_url":"/dataset/codesearchnet","rows_in_archive":1,"metrics":["BLEU-4","METEOR"],"first_row_in_archive_order":{"model":"AdaMo-basic","paper_title":"Assemble Foundation Models for Automatic Code Summarization","paper_url":"/paper/assemble-foundation-models-for-automatic-code","paper_date":"2022-01-13","arxiv_id":"2201.05222","code_links":[{"title":"jianguda/afm4acs","url":"https://github.com/jianguda/afm4acs"}],"syntology":null}},{"leaderboard":"/sota/source-code-summarization-on-hybrid-deepcom","slug":"source-code-summarization-on-hybrid-deepcom","dataset":"Java scripts","dataset_url":"/dataset/hybrid-deepcom-java","rows_in_archive":1,"metrics":["BLEU-4","METEOR"],"first_row_in_archive_order":{"model":"AdaMo-basic","paper_title":"Assemble Foundation Models for Automatic Code Summarization","paper_url":"/paper/assemble-foundation-models-for-automatic-code","paper_date":"2022-01-13","arxiv_id":"2201.05222","code_links":[{"title":"jianguda/afm4acs","url":"https://github.com/jianguda/afm4acs"}],"syntology":null}},{"leaderboard":"/sota/source-code-summarization-on-summarizing-1","slug":"source-code-summarization-on-summarizing-1","dataset":"Summarizing Source Code using a Neural Attention Model - C#","dataset_url":null,"rows_in_archive":1,"metrics":["Smoothed BLEU-4"],"first_row_in_archive_order":{"model":"CodeTrans-MT-Large","paper_title":"CodeTrans: Towards Cracking the Language of Silicon's Code Through Self-Supervised Deep Learning and High Performance Computing","paper_url":"/paper/codetrans-towards-cracking-the-language-of","paper_date":"2021-04-06","arxiv_id":"2104.02443","code_links":[{"title":"agemagician/CodeTrans","url":"https://github.com/agemagician/CodeTrans"}],"syntology":null}},{"leaderboard":"/sota/source-code-summarization-on-summarizing-2","slug":"source-code-summarization-on-summarizing-2","dataset":"Summarizing Source Code using a Neural Attention Model - Python","dataset_url":null,"rows_in_archive":1,"metrics":["Smoothed BLEU-4"],"first_row_in_archive_order":{"model":"CodeTrans-MT-Base","paper_title":"CodeTrans: Towards Cracking the Language of Silicon's Code Through Self-Supervised Deep Learning and High Performance Computing","paper_url":"/paper/codetrans-towards-cracking-the-language-of","paper_date":"2021-04-06","arxiv_id":"2104.02443","code_links":[{"title":"agemagician/CodeTrans","url":"https://github.com/agemagician/CodeTrans"}],"syntology":null}},{"leaderboard":"/sota/source-code-summarization-on-summarizing-3","slug":"source-code-summarization-on-summarizing-3","dataset":"Summarizing Source Code using a Neural Attention Model - SQL","dataset_url":null,"rows_in_archive":1,"metrics":["Smoothed BLEU-4"],"first_row_in_archive_order":{"model":"CodeTrans-MT-TF-Large","paper_title":"CodeTrans: Towards Cracking the Language of Silicon's Code Through Self-Supervised Deep Learning and High Performance Computing","paper_url":"/paper/codetrans-towards-cracking-the-language-of","paper_date":"2021-04-06","arxiv_id":"2104.02443","code_links":[{"title":"agemagician/CodeTrans","url":"https://github.com/agemagician/CodeTrans"}],"syntology":null}}],"datasets":[{"url":"/dataset/codesearchnet","name":"CodeSearchNet","full_name":"","num_papers_in_archive":308},{"url":"/dataset/staqc","name":"StaQC","full_name":"","num_papers_in_archive":19},{"url":"/dataset/codesc","name":"CoDesc","full_name":"","num_papers_in_archive":4},{"url":"/dataset/summarizing-source-code-using-a-neural","name":"Summarizing Source Code using a Neural Attention Model","full_name":"","num_papers_in_archive":3},{"url":"/dataset/deepcom-java","name":"DeepCom-Java","full_name":"","num_papers_in_archive":2},{"url":"/dataset/hybrid-deepcom-java","name":"Java scripts","full_name":"","num_papers_in_archive":1},{"url":"/dataset/parallelcorpus-python","name":"ParallelCorpus-Python","full_name":"","num_papers_in_archive":1}],"subtasks":[{"url":"/task/method-name-prediction","name":"Method name prediction"}],"parent_tasks":[],"papers":{"order":"repositories listed in the archive (desc), then date (desc); the archive holds no stars","population":"papers tagged with this task that list at least one repository in the archive","shown":30,"of":39,"tagged_in_all":58,"items":[{"url":"/paper/a-transformer-based-approach-for-source-code","title":"A Transformer-based Approach for Source Code Summarization","date":"2020-05-01","arxiv_id":"2005.00653","repositories_listed":9,"syntology":null},{"url":"/paper/recommendations-for-datasets-for-source-code","title":"Recommendations for Datasets for Source Code Summarization","date":"2019-04-04","arxiv_id":"1904.02660","repositories_listed":7,"syntology":null},{"url":"/paper/code2seq-generating-sequences-from-structured","title":"code2seq: Generating Sequences from Structured Representations of Code","date":"2018-08-04","arxiv_id":"1808.01400","repositories_listed":6,"syntology":{"n":3,"n_ran":0,"n_unverified":3,"n_pointer_only":0}},{"url":"/paper/structured-neural-summarization","title":"Structured Neural Summarization","date":"2018-11-05","arxiv_id":"1811.01824","repositories_listed":3,"syntology":{"n":17,"n_ran":0,"n_unverified":17,"n_pointer_only":0}},{"url":"/paper/haconvgnn-hierarchical-attention-based","title":"HAConvGNN: Hierarchical Attention Based Convolutional Graph Neural Network for Code Documentation Generation in Jupyter Notebooks","date":"2021-03-31","arxiv_id":"2104.01002","repositories_listed":2,"syntology":null},{"url":"/paper/unified-pre-training-for-program","title":"Unified Pre-training for Program Understanding and Generation","date":"2021-03-10","arxiv_id":"2103.06333","repositories_listed":2,"syntology":null},{"url":"/paper/improved-code-summarization-via-a-graph","title":"Improved Code Summarization via a Graph Neural Network","date":"2020-04-06","arxiv_id":"2004.02843","repositories_listed":2,"syntology":null},{"url":"/paper/code-generation-as-a-dual-task-of-code","title":"Code Generation as a Dual Task of Code Summarization","date":"2019-10-14","arxiv_id":"1910.05923","repositories_listed":2,"syntology":{"n":7,"n_ran":4,"n_unverified":3,"n_pointer_only":3}},{"url":"/paper/improving-automatic-source-code-summarization","title":"Improving Automatic Source Code Summarization via Deep Reinforcement Learning","date":"2018-11-17","arxiv_id":"1811.07234","repositories_listed":2,"syntology":{"n":3,"n_ran":2,"n_unverified":1,"n_pointer_only":3}},{"url":"/paper/variational-prefix-tuning-for-diverse-and","title":"Variational Prefix Tuning for Diverse and Accurate Code Summarization Using Pre-trained Language Models","date":"2025-05-14","arxiv_id":"2505.09062","repositories_listed":1,"syntology":null},{"url":"/paper/source-code-summarization-in-the-era-of-large","title":"Source Code Summarization in the Era of Large Language Models","date":"2024-07-09","arxiv_id":"2407.07959","repositories_listed":1,"syntology":null},{"url":"/paper/a-prompt-learning-framework-for-source-code","title":"A Prompt Learning Framework for Source Code Summarization","date":"2023-12-26","arxiv_id":"2312.16066","repositories_listed":1,"syntology":null},{"url":"/paper/revisiting-file-context-for-source-code","title":"Revisiting File Context for Source Code Summarization","date":"2023-09-05","arxiv_id":"2309.02326","repositories_listed":1,"syntology":null},{"url":"/paper/distilled-gpt-for-source-code-summarization","title":"Distilled GPT for Source Code Summarization","date":"2023-08-28","arxiv_id":"2308.14731","repositories_listed":1,"syntology":null},{"url":"/paper/semantic-similarity-loss-for-neural-source","title":"Semantic Similarity Loss for Neural Source Code Summarization","date":"2023-08-14","arxiv_id":"2308.07429","repositories_listed":1,"syntology":null},{"url":"/paper/statement-based-memory-for-neural-source-code","title":"Statement-based Memory for Neural Source Code Summarization","date":"2023-07-21","arxiv_id":"2307.11709","repositories_listed":1,"syntology":null},{"url":"/paper/tram-a-token-level-retrieval-augmented","title":"Tram: A Token-level Retrieval-augmented Mechanism for Source Code Summarization","date":"2023-05-18","arxiv_id":"2305.11074","repositories_listed":1,"syntology":null},{"url":"/paper/an-extractive-and-abstractive-framework-for","title":"An Extractive-and-Abstractive Framework for Source Code Summarization","date":"2022-06-15","arxiv_id":"2206.07245","repositories_listed":1,"syntology":null},{"url":"/paper/m2ts-multi-scale-multi-modal-approach-based","title":"M2TS: Multi-Scale Multi-Modal Approach Based on Transformer for Source Code Summarization","date":"2022-03-18","arxiv_id":"2203.09707","repositories_listed":1,"syntology":null},{"url":"/paper/source-code-summarization-with-structural","title":"Source Code Summarization with Structural Relative Position Guided Transformer","date":"2022-02-14","arxiv_id":"2202.06521","repositories_listed":1,"syntology":null},{"url":"/paper/compositionality-aware-graph2seq-learning","title":"Compositionality-Aware Graph2Seq Learning","date":"2022-01-28","arxiv_id":"2201.12178","repositories_listed":1,"syntology":null},{"url":"/paper/assemble-foundation-models-for-automatic-code","title":"Assemble Foundation Models for Automatic Code Summarization","date":"2022-01-13","arxiv_id":"2201.05222","repositories_listed":1,"syntology":null},{"url":"/paper/leveraging-unsupervised-learning-to-summarize","title":"Leveraging Unsupervised Learning to Summarize APIs Discussed in Stack Overflow","date":"2021-11-27","arxiv_id":"2111.13962","repositories_listed":1,"syntology":null},{"url":"/paper/modeling-hierarchical-syntax-structure-with","title":"Modeling Hierarchical Syntax Structure with Triplet Position for Source Code Summarization","date":"2021-11-16","arxiv_id":null,"repositories_listed":1,"syntology":null},{"url":"/paper/graphsearchnet-enhancing-gnns-via-capturing","title":"GraphSearchNet: Enhancing GNNs via Capturing Global Dependencies for Semantic Code Search","date":"2021-11-04","arxiv_id":"2111.02671","repositories_listed":1,"syntology":null},{"url":"/paper/neural-code-summarization-how-far-are-we","title":"On the Evaluation of Neural Code Summarization","date":"2021-07-15","arxiv_id":"2107.07112","repositories_listed":1,"syntology":null},{"url":"/paper/code-to-comment-translation-a-comparative","title":"Code to Comment Translation: A Comparative Study on Model Effectiveness & Errors","date":"2021-06-15","arxiv_id":"2106.08415","repositories_listed":1,"syntology":null},{"url":"/paper/codesc-a-large-code-description-parallel","title":"CoDesc: A Large Code-Description Parallel Dataset","date":"2021-05-29","arxiv_id":"2105.14220","repositories_listed":1,"syntology":{"n":8,"n_ran":1,"n_unverified":7,"n_pointer_only":0}},{"url":"/paper/codetrans-towards-cracking-the-language-of","title":"CodeTrans: Towards Cracking the Language of Silicon's Code Through Self-Supervised Deep Learning and High Performance Computing","date":"2021-04-06","arxiv_id":"2104.02443","repositories_listed":1,"syntology":null},{"url":"/paper/project-level-encoding-for-neural-source-code","title":"Project-Level Encoding for Neural Source Code Summarization of Subroutines","date":"2021-03-22","arxiv_id":"2103.11599","repositories_listed":1,"syntology":null}],"syntology_records":5,"syntology_note":"a paper without a record is not a recorded non-run: it may lack an arXiv id or simply be absent from the graph layer"},"description_links":{"kept":0,"unwrapped_to_text":0,"bare_urls_linked":0,"relative_images_dropped":0,"rule":"internal links are kept only when the target slug exists in the catalog"},"syntology":{"read_at":"2026-09-24T18:15:14+00:00","claim":"Per-sample execution status on synthesized fixtures ('ran N of M samples'); not a correctness claim and not a ranking signal.","status_vocabulary":{"ran_honours":"ran, honoured the contract we drafted","ran_violates":"ran, violated the contract we drafted","ran_draft_wrong":"ran; our contract draft was wrong, not the code","ran_fixture":"ran; our fixture could not drive it","ran":"ran on a synthesized input","unverified":"unverified (harvested, no recorded run)"}},"not_shown":{"libraries":"the archive has no per-task library table","trend_sparklines":"the Trend column of the benchmarks table was a rendered image; it is not in the archive","social_and_latest_sorts":"stars and social signals are not in the archive"}}