Main CS97 Page
 
Top

Lecture 1 Notes

  • Introduce self.
  • CS97 is about research in computer science.
  • Topic for this year is dynamic analysis.
  • What is dynamic analysis good for? Examples:
    • Debugging
    • Profiling
    • Sandboxing/security monitoring
    • JIT compilation
    • Crash resistance
    • System virtualization
    • Automatic test generation
    • Software archeology
    • Forensics
  • Why is dynamic analysis interesting and important?
    • Software complexity has increased to the point that it is infeasible for humans or tools to understand the behavior of many applications by simply examining the source code.
    • Many new tools and techniques have come about in the last decade.
  • Course logistics:
    • About evenly split between reading papers and doing a project.
      • There are also some easy "labs" that are just there to familiarize you with a few dynamic analysis tools.
    • Approximately one paper per class meeting.
    • You will submit a few questions for each paper no later than 24 hours before we are scheduled to discuss it.
    • Here are the details about how you are expected to read and respond to papers.
    • Project in teams of two.
    • Start looking for a partner right away; maybe use Piazza.
    • Proposal, milestones, presentation, final report.
    • Scheduled lab time will be used primarily for milestone meetings.
  • Computer systems, a refresher.
    • You should be familiar with all of this from CS31.
    • This year CS97 is kind of CS31++; sorry to the theory folks in the crowd.
    • If you are shaky on this systems stuff, do not team up with someone who is similarly shaky for the project. I will ask you about this when you tell me who is on your team.
    • The pieces:
      • Assembly (/machine) code
      • Processes
      • Virtual memory
      • Stack
      • Heap
      • Compiling
        • Procedures
        • Objects
        • Higher-order functions
      • Linking
      • System calls
      • Signals
      • Threads
  • Papers
    • Reading tips
    • Pin