Special session: "hands-on" tutorial: teaching software correctness with RESOLVE

  • Authors:
  • Murali Sitaraman;Bruce W. Weide

  • Affiliations:
  • Clemson University, Clemson, SC, USA;The Ohio State University, Columbus, OH, USA

  • Venue:
  • Proceedings of the 45th ACM technical symposium on Computer science education
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Program correctness is central to computing, with instructors striving to convey the importance of getting it right starting in CS1. Teaching this material carefully demands a uniform framework to specify, implement, and reason about software correctness. To make these ideas accessible to educators and students, the tutorial will use RESOLVE, an integrated specification and programming language with a toolset especially designed for building verified components. The tutorial will also discuss how to get students involved through hands-on activities with software construction and modular verification using a web-integrated environment that requires no software installation and that features a prototype 'push-button' verifying compiler. The proposers have taught the ideas contained here using engaging pedagogical methods in introductory and advanced CS courses to thousands of students and dozens of educators over the past 20 years, and this SIGCSE tutorial will leverage that experience.