- Project description
- Team members
- Why did we make this?
- What does this do?
- Implementation overview
- Features
- Build instructions
This project develops a simple visualization tool that graphically represents stack and heap memory allocations for small C++ programs.
Our team is composed of (in alphabetical order):
- Christopher de Souza
- Isabella Liduario Buzelin Godinho
- Kendal Anderson
- Maryam Bouamama
- Yuxi Luo
Memory allocation and management are fundamental computer system ideas, but they can often be abstract and difficult to understand for the majority of students. The main motivation for this project is to help students (and developers) visualize how components of programs (global variables, local variables, arrays, etc) are organized in memory by providing a tangible representation of these abstract operations.
Memory management is one of those computer science concepts that are extremely important but really hard to understand because it is hard to see it. This tool aims to fill this gap by showing you:
- How stack frames get created and destroyed during function calls
- Where local variables live on the stack
- What happens when you use
new
anddelete
for dynamic memory - How memory leaks happen (and how to spot them!)
// TODO
- Visual representation of stack and heap memory
- Step-by-step visualization of memory operations
- Color-coded memory blocks to identify different types and states
- Simple examples to demonstrate key memory concepts
-
Clone the repository:
git clone https://github.com/your-username/Memory-Visualization.git cd Memory-Visualization
-
Make the run script executable:
chmod +x run_and_visualize.sh
-
Run the function_calls example:
./run_and_visualize.sh examples/function_calls.cpp
-
Open your web browser and navigate to:
http://localhost:8000
The visualization will show you how memory is distributed, with color-coded memory blocks representing different variables and their states.