Securing Software: Languages
Goals
- Verification
- Identify strengths, weaknesses, and use cases for verification
- What are some limitations?
- Dafny
- Basic language constructs
- Be prepared to verify a program in recitation
- Software Analysis Overview
- Understand the tradeoffs between different forms of analysis
Verification
-
How has verification been used in the academic world?
-
Dafny
- What kinds of properties is Dafny designed to verify?
- How do Dafny methods differ from Dafny functions?
- How does Dafny handle assertions?
- How does Dafny handle loops?
Analysis
- What are the advantages (and disadvantages) of different methods for finding vulnerabilities?
- Human inspection
- Programmatic testing
- Randomized testing
- Static analysis
- Dynamic analysis
- Model checking