skip to main content
10.1145/1734263.1734387acmconferencesArticle/Chapter ViewAbstractPublication PagessigcseConference Proceedingsconference-collections
research-article

A simple machine simulator for teaching stack frames

Published: 10 March 2010 Publication History

Abstract

Stack frames are a fundamental concept in computer science often taught in an operating systems or an assembly language programming course. Computer security courses also rely on an understanding of stack frame concepts when teaching buffer overflow attacks. To assist students in learning the fundamentals of stack frames and related concepts, we have developed an interactive Simple Machine Simulator tool that allows students to step through a C-like language program and watch how memory changes. We have used this tool successfully in various courses to teach different aspects of stack frames and their use. This paper will describe the tool, how it is used to teach stack frame concepts, our experience, and future plans.

References

[1]
ACM Curricula Recommendations, http://www.acm.org/education/curricula-recommendations, last accessed Sep 11, 2009.
[2]
SPIM, A MIPS32 Simulator, http://pages.cs.wisc.edu/~larus/spim.html, last accessed Sep 11, 2009.
[3]
MIPSTER 2.0, http://www.downcastsystems.com/mipster/default.asp, last accessed Sep 11, 2009.
[4]
Dale Skrein. CPU Sim 3.1: A tool for simulating computer architectures for computer organization classes. ACM Journal on Educational Resources in Computing (JERIC), Vol. 1, Issue 4, 2001, 46--59.
[5]
Andrew E. Phillips and Jack S. E. Tan. Exploring Security Vulnerabilities by Exploiting Buffer Overflow using the MIPS ISA. ACM SIGCSE 2003 Bulletin, Vol. 35, Issue 1, Jan 2003, 172--176.
[6]
Barnett, B. L. A visual simulator for a simple machine and assembly language. Technical Symposium on Computer Science Education (SIGCSE, Nashville Tennessee, USA), 1995, 233--237.
[7]
A Simple Assembly Language Computer Simulator. http://www.cse.yorku.ca/~peterc/simulator/simulator.html, last accessed Sep 11, 2009.
[8]
Gerhart, Susan. Animation of Buffer Overflows and Cryptography. Technical Symposium on Computer Science Education (SIGCSE, Norfolk Virginia, USA), 2004.
[9]
Jaishankar Sundarararaman and Godmar Back. HDPV: interactive, faithful, in-vivo runtime state visualization for C/C++ and Java. Proceedings of the 4th Symposium on Software visualization (SOFTVIS, Ammersee, Germany) 2008, 47--56.

Cited By

View all
  • (2022)Expanding the cybersecurity pipeline through early exposure in undergraduate programs2022 IEEE Frontiers in Education Conference (FIE)10.1109/FIE56618.2022.9962399(1-9)Online publication date: 8-Oct-2022
  • (2011)IASSimProceedings of the 42nd ACM technical symposium on Computer science education10.1145/1953163.1953271(359-364)Online publication date: 9-Mar-2011

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGCSE '10: Proceedings of the 41st ACM technical symposium on Computer science education
March 2010
618 pages
ISBN:9781450300063
DOI:10.1145/1734263
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 March 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. active learning
  2. buffer overflow
  3. stack frames
  4. visualization

Qualifiers

  • Research-article

Conference

SIGCSE10
Sponsor:

Acceptance Rates

Overall Acceptance Rate 1,787 of 5,146 submissions, 35%

Upcoming Conference

SIGCSE TS 2025
The 56th ACM Technical Symposium on Computer Science Education
February 26 - March 1, 2025
Pittsburgh , PA , USA

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)1
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Expanding the cybersecurity pipeline through early exposure in undergraduate programs2022 IEEE Frontiers in Education Conference (FIE)10.1109/FIE56618.2022.9962399(1-9)Online publication date: 8-Oct-2022
  • (2011)IASSimProceedings of the 42nd ACM technical symposium on Computer science education10.1145/1953163.1953271(359-364)Online publication date: 9-Mar-2011

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media