Reading Journal: Reflections on Trusting Trust

Please answer the following questions after reading the brief lecture by Ken Thompson. Send your responses to the instructor by email with the subject [Advanced OS] Reading Journal: Thompson. Please review your responses for spelling and grammatical errors before sending them, and make a final editing pass to ensure your thoughts are clearly expressed and organized before sending them.

Questions

  1. Who is Ken Thompson, and why would he talk to us about trusting software? (2–3 sentences)
  2. Thompson’s lecture includes a discussion of quines. What is a quine, in your own words? (1 sentence)
  3. Spend 10–15 minutes trying to write a quine in your preferred programming langauge. What makes this difficult? Include your attempt below (it does not have to work). (2–3 sentence + code)
  4. Thompson makes a surprising revelation about UNIX logins during the talk. What is that revelation? (2–3 sentences)
  5. What does Thompson’s hack have to do with quines? (2–3 sentences)
  6. How do you decide whether or not to trust software? Did Thompson’s hack change your thinking about that trust? Why or why not? (3–4 sentences)