Exploring the Execution Stack (Exploring the stack for fun and profit)
DOI:
https://doi.org/10.5753/ijcae.2015.4925Abstract
The Basic Software course offered at PUC-Rio adopts the perspective of a software developer, emphasizing the support that the basic components of a typical architecture provide for the abstractions offered by programming languages. A central topic of the course is the stack, a mechanism whose mastery is essential for programming proficiency. This work discusses how the course explores this mechanism and its support for typical programming abstractions, such as local variables and procedures, and also for application-level multitasking.
Downloads
References
R. Sebesta, Concepts of Programming Languages, 10th ed. Pearson, 2012.
M. Scott, Programming Language Pragmatics, 3rd ed. Morgan Kaufmann, 2009.
C. Ghezzi and M. Jazayeri, Programming Languages Concepts, 3rd ed. Wiley, 1997.
A. L. de Moura and N. Rodriguez, “Sistemas de computação sob o ponto de vista do desenvolvedor de software,” in Anais do XXXIV CSBC — WEI (Workshop de Educação em Computação), 2014.
R. E. Bryant and D. R. O’Hallaron, Computer Systems: A Programmer’s Perspective, 2nd ed. Prentice-Hall, 2011.
(2014) Heartbleed. [Online]. Available: [link]
A. L. Moura and R. Ierusalimschy, “Revisiting coroutines,” ACM Transactions on Programmming Languages and Systems, vol. 31, no. 2, pp. 6:1–6:31, Feb. 2009.
R. Ierusalimschy, Programming in Lua, 3rd ed. Lua.org, 2012.
A. Branco, A. L. Moura, N. Rodriguez, and S. Rossetto, “Teaching concurrent and distributed computing – initiatives in Rio de Janeiro,” in Proc. IEEE 27th International Parallel and Distributed Processing Simpoium Workshops & PhD Forum (IPDPSW), 2013.
J. Spolsky. (2002) The law of leaky abstractions. [Online]. Available: [link]
(1996) Smashing the stack for fun and profit. Phrack.org. [Online]. Available: [link]
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2015 Os autores
This work is licensed under a Creative Commons Attribution 4.0 International License.