Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time


Actions Status codecov Go Report Card GoDoc License MIT

Available here:

Research Paper: 26th International Conference on Software Analysis, Evolution and Reengineering (SANER)
PDF Version: ASERG Page

GoCity is an implementation of the Code City metaphor for visualizing source code. GoCity represents a Go program as a city, as follows:

  • Folders are districts
  • Files are buildings
  • Structs are represented as buildings on the top of their files.

Structures Characteristics

  • The Number of Lines of Source Code (LOC) represents the build color (high values makes the building dark)
  • The Number of Variables (NOV) correlates to the building's base size.
  • The Number of methods (NOM) correlates to the building height.


  • go get -u
  • Or just head to the releases page and download the latest version for you platform.


  • Online:
  • Commands
    • gocity server - Open a local / private server
    • gocity open <GITHUB_IMPORT> - Open a specific Github project

UI / Front-end

The UI is built with React and uses babylon.js to plot 3D structures. The front-end source code is available in the front-end branch.

Related Works

This tool makes part of a scientific research developed at Federal University of Minas Gerais (UFMG)
Student: Rodrigo Brito
Advisor: Marco Tulio Valente