Software specification, testing and verification. The emphasis is on automated tools for developing reliable software. The course covers material---drawn primarily from recent research papers---on the technologyunderlying these tools. Assignments supplement the lectures with hands-on experience in using these tools and customizing them for solving new problems. The course is appropriate for students intending to pursue research in program analysis and verification, as well as for those who wish to add the use of advanced software tools to their skill set. Prerequisites: CS 108. Recommended: a project course such as CS 140, CS 143 or CS 145.
3 units · Letter or Credit/No Credit
Software specification, testing and verification. The emphasis is on automated tools for developing reliable software. The course covers material---drawn primarily from recent research papers---on the technologyunderlying these tools. Assignments supplement the lectures with hands-on experience in using these tools and customizing them for solving new problems. The course is appropriate for students intending to pursue research in program analysis and verification, as well as for those who wish to add the use of advanced software tools to their skill set. Prerequisites: 108. Recommended: a project course such as 140, 143 or 145.
Offered in Winter 2026 at Stanford University.