Download Full Text (1.6 MB)


Using Natural Language Summaries of Program Elements to Improve Code Search

There are countless people that are intimidated by reading computer programs, potentially driving away future engineers. Even current software developers, when moving from project to project, face downtime due to acclimating themselves with a new, poorly commented code base. Our project, which we call Swummary, strives to eliminate these problems by providing succinct natural language summaries of source code.

We were tasked with developing a functioning prototype of a natural language source code summarizer, based on the frameworks SrcML and Software Word Usage Model (SWUM), as well as the methodology outlined by Giriprasad Sridhara and his colleagues at the University of Delaware. These frameworks pass source code that has been parsed for natural language syntactical elements such as verbs, nouns, and objects to our Swummary tool, which uses Sridhara’s methodology to extract the most pertinent lines of code to create an easy-to-read, natural language summary.

The current prototype of our Swummary tool converts a designated piece of source code, written in C/C++, C# or Java, into a natural language summary that is then outputted to the user. We accomplished this by creating a code pipeline where each framework was broken into its own discrete class, building upon the information extracted in the previous step. Swummary still requires added robustness, such as the ability to parse conditional statements, but in its current state, it shows how to bring human-readable programming code to the masses.

Publication Date



Computer engineering, code, program, summary


Computer Engineering | Engineering

Faculty Advisor/Mentor

Kostadin Damevski

VCU Capstone Design Expo Posters


© The Author(s)

Date of Submission

August 2016

Swummary: Self-Documenting Code