Submitting a Lab Report
Every CS487 lab is submitted as a single PDF.
Required structure
CS487 Lab N — <Your Name>, <Your NetID>
1. Environment
- VM image and version, hypervisor, anything non-standard about your setup
2. Task 1: <task title>
- Commands run
- Observation (screenshot or transcript)
- Explanation
3. Task 2: ...
...
N. Reflection (optional, but read)
- What surprised you? What is still unclear?
Use the task titles exactly as they appear in the lab. Graders read many reports; matching headings makes it obvious that nothing is missing.
Screenshots
- Capture the whole terminal window, including the prompt. The prompt shows which user you are, and for these labs “which user you are” is usually the entire point.
- Crop to the relevant region, but never crop out the command itself.
- Make the text legible at 100% zoom. A screenshot nobody can read is not evidence.
Code snippets
- Include the code you wrote or changed, not the entire file, unless the file is short.
- Paste code as text in a monospace font, not as a screenshot, so it can be copied and checked.
- Reference the line you are talking about: “the
setuid(getuid())call on line 21 revokes the privilege, but the descriptor opened on line 12 survives.”
Explanations
The single most common way to lose points is to describe the output instead of explaining it.
Weak: “After exporting
LD_PRELOADand running the Set-UID program, it printedI am not sleeping!when run by root but not by a normal user.”Strong: “The dynamic linker ignores
LD_PRELOADwhen the process is Set-UID and the real and effective UIDs differ, because honoring it would let any user inject code into a privileged process. When root runs the program the real and effective UIDs are both 0, so there is no privilege boundary to protect and the variable is honored — which is why the override only appears in that one case.”
Honesty
If a task did not work, say so, and describe what you tried. A report that says “Task 6 did not produce a root shell; here is what I observed and here is my best hypothesis” earns substantial partial credit. A report that claims a result the screenshots do not show earns none, and is treated as an integrity issue.