Firefox ๋ธŒ๋ผ์šฐ์ € ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ
  • ํ™•์žฅ ๊ธฐ๋Šฅ
  • ํ…Œ๋งˆ
    • Firefox์šฉ
    • ์‚ฌ์ „ ๋ฐ ์–ธ์–ด ํŒฉ
    • ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์ดํŠธ
    • Android ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ
๋กœ๊ทธ์ธ
Stack & Heap Simulator ๋ฏธ๋ฆฌ๋ณด๊ธฐ

Stack & Heap Simulator ์ œ์ž‘์ž: Libor Benes (Dr. B)

Interactive memory simulator: visualise stack frames, heap blocks, and pointers side-by-side. Watch allocation, deallocation, dangling pointers, memory leaks, and heap fragmentation in real time. Five guided scenarios. All client-side. โ€ข No tracking.

0 (๋ฆฌ๋ทฐ 0๊ฐœ)0 (๋ฆฌ๋ทฐ 0๊ฐœ)
Firefox๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๋ฐ›์œผ์„ธ์š”
ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ

ํ™•์žฅ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ

์ •๋ณด
๐Ÿง  Stack & Heap Simulator brings one of computer science's most important concepts directly into your Firefox sidebar โ€” an interactive, colour-coded visualisation of how programs use memory, updated live as you click.

๐Ÿ” WHAT IT DOES:
A persistent Firefox sidebar lets you build up a real memory picture step by step: push function call frames onto the stack, allocate blocks on the heap, connect them with pointer variables, then free blocks and pop frames โ€” and watch exactly what goes wrong when you don't do it in the right order.

๐Ÿ“ TWO-COLUMN CANVAS:
๐ŸŸข Left column โ€” the Stack. Grows downward (high โ†’ low addresses). Each function call adds a named frame containing local variables and a return address. The active frame glows purple; the SP (stack pointer) is marked with a dashed line.
๐Ÿ”ต Right column โ€” the Heap. Grows upward (low โ†’ high addresses). Each malloc() adds a blue block with its ID, size, and address. New blocks appear above older ones, correctly reflecting heap growth direction.
๐ŸŸก Yellow Bรฉzier arrows connect stack pointer variables to their heap blocks across the gap between columns.

๐Ÿ”ด MEMORY ERRORS โ€” MADE VISIBLE:
Unlike reading about memory bugs in a book, this simulator shows them in colour:
โ€ข Dangling pointer โ€” free a heap block while a pointer still references it. The arrow and variable turn red immediately, labelled DANGLING.
โ€ข Memory leak โ€” pop a stack frame without freeing its heap blocks. Orphaned blocks turn orange, labelled LEAKED.
โ€ข Heap fragmentation โ€” allocate several blocks, free alternating ones, and see the live (blue) and free (gray dashed) blocks interleaved in the heap column.

๐Ÿ“– FIVE GUIDED SCENARIOS:
Click any scenario card in the Scenarios tab to watch an auto-play walkthrough at 650 ms per step:
โ€ข Basic Allocation โ€” the fundamental stack-to-heap relationship with a pointer.
โ€ข Function Call Stack โ€” push main() โ†’ foo() โ†’ bar() with local variables, then pop them LIFO.
โ€ข Memory Leak โ€” return from a function without freeing heap memory.
โ€ข Dangling Pointer โ€” free a block while a stack pointer still holds its address.
โ€ข Heap Fragmentation โ€” allocate four blocks, free the alternating ones, see the gaps.

๐Ÿ“š BUILT-IN REFERENCE (Explain tab):
Four compact concept rows โ€” Stack, Heap, Pointers, and Call Frames โ€” give the essential theory in a format that fits entirely on screen without scrolling, followed by a memory layout diagram showing high-address stack base, stack growth direction, free space, heap growth direction, and low-address heap base.

๐Ÿ”’ SECURITY-FIRST ARCHITECTURE:
โœ… No data collection โ€” explicitly declared in manifest.json via data_collection_permissions: ["none"].
โœ… No telemetry โ€” no analytics, no external pings, zero network requests of any kind.
โœ… No eval() โ€” safe, audited code meeting Firefox extension standards.
โœ… No innerHTML โ€” all rendering via the Canvas 2D API; all DOM updates via textContent.
โœ… No permissions โ€” the permissions array in manifest.json is completely empty.
โœ… Input validation on every state mutation before it touches the canvas.
โœ… Content Security Policy locked to script-src 'self'.

๐ŸŽฏ PERFECT FOR:
โ€ข Students in systems programming, OS, or C/C++ courses who want a visual complement to lectures.
โ€ข Developers debugging memory errors or learning allocator behavior.
โ€ข CS educators who want an interactive demo to show alongside a whiteboard.
โ€ข Anyone who has ever wondered what malloc(), free(), stack frames, and pointers actually look like at runtime.

โš™๏ธ TECHNICAL:
โ€ข Firefox 140.0+ desktop only ยท Manifest v2 ยท Sidebar panel.
โ€ข Zero network requests ยท Zero storage ยท No background scripts ยท No account required.
โ€ข Runtime Execution RAM Footprint: ~42 KB (core scripts: manifest.json + panel.html + styles.css + script.js).
โ€ข Total Extension Download/Install Size: ~ 96KB (including README.md).
โ€ข No permissions required โ€” manifest.json permissions array is empty.

๐Ÿ”’ 100% Client-Side ยท No Data Collection ยท No Tracking ยท No Account.

๐Ÿง  Stack & Heap Simulator: See the memory. Understand the machine.
0๋ช…์ด 0์ ์œผ๋กœ ํ‰๊ฐ€ํ•จ
๋กœ๊ทธ์ธํ•˜์—ฌ ์ด ํ™•์žฅ ๊ธฐ๋Šฅ์˜ ํ‰์ ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”
์•„์ง ํ‰์ ์ด ์—†์Šต๋‹ˆ๋‹ค

๋ณ„์  ์ €์žฅ๋จ

5
0
4
0
3
0
2
0
1
0
์•„์ง ๋ฆฌ๋ทฐ ์—†์Œ
๊ถŒํ•œ ๋ฐ ๋ฐ์ดํ„ฐ

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘:

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด ํ™•์žฅ ๊ธฐ๋Šฅ์€ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
๋” ์•Œ์•„๋ณด๊ธฐ
์ถ”๊ฐ€ ์ •๋ณด
๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ๋งํฌ
  • ์ง€์› ์‚ฌ์ดํŠธ
  • ์ง€์› ์ด๋ฉ”์ผ
  • Copy add-on ID
๋ฒ„์ „
1.0
ํฌ๊ธฐ
33.71 KB
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ
7์ผ ์ „ (2026๋…„ 5์›” 10์ผ)
๊ด€๋ จ ์นดํ…Œ๊ณ ๋ฆฌ
  • ์›น ๊ฐœ๋ฐœ ๋„๊ตฌ
  • ๊ฐœ์ธ ์ •๋ณด ๋ณดํ˜ธ ๋ฐ ๋ณด์•ˆ
  • ๊ฒ€์ƒ‰ ๋„๊ตฌ
๋ผ์ด์„ ์Šค
Mozilla Public License 2.0
๋ฒ„์ „ ๋ชฉ๋ก
  • ๋ชจ๋“  ๋ฒ„์ „ ๋ณด๊ธฐ
๋ชจ์Œ์ง‘์— ์ถ”๊ฐ€
์ด ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ์‹ ๊ณ 
Mozilla ํ™ˆํŽ˜์ด์ง€๋กœ ์ด๋™

๋ถ€๊ฐ€ ๊ธฐ๋Šฅ

  • ์†Œ๊ฐœ
  • Firefox ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ ๋ธ”๋กœ๊ทธ
  • ํ™•์žฅ ๊ธฐ๋Šฅ ์›Œํฌ์ƒต
  • ๊ฐœ๋ฐœ์ž ํ—ˆ๋ธŒ
  • ๊ฐœ๋ฐœ์ž ์ •์ฑ…
  • ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ธ”๋กœ๊ทธ
  • ํฌ๋Ÿผ
  • ๋ฒ„๊ทธ ์‹ ๊ณ 
  • ๋ฆฌ๋ทฐ ์ง€์นจ

๋ธŒ๋ผ์šฐ์ €

  • Desktop
  • Mobile
  • Enterprise

์ œํ’ˆ

  • Browsers
  • VPN
  • Relay
  • Monitor
  • Pocket
  • Bluesky (@firefox.com)
  • Instagram (Firefox)
  • YouTube (firefoxchannel)
  • ๊ฐœ์ธ ์ •๋ณด
  • ์ฟ ํ‚ค
  • ๋ฒ•๋ฅ 

ํŠน๋ณ„ํ•œ ๊ณ ์ง€๊ฐ€ ์—†๋Š” ํ•œ, ๋ณธ ์‚ฌ์ดํŠธ์˜ ์ฝ˜ํ…์ธ ๋Š” Commons Attribution Share-Alike License v3.0 ๋˜๋Š” ๊ทธ ์ดํ›„ ๋ฒ„์ „์— ๋”ฐ๋ผ ์‚ฌ์šฉ์ด ํ—ˆ๊ฐ€๋ฉ๋‹ˆ๋‹ค.