Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Libraries
  3. MIT Theses
  4. Graduate Theses
  5. Verification of Go Channels

Verification of Go Channels

Thumbnail Image
Download
Name

zhang-jzhang0-meng-eecs-2025-thesis.pdf

Description
Thesis PDF
Size

532.65 KB

Format

Adobe PDF

Checksum (MD5)

05df5296c9467cfaa2374bc0e37a4227

Author(s)
Zhang, Jessica
Advisor(s)
Zeldovich, Nickolai
Date Issued
February 2025
Publisher
Massachusetts Institute of Technology
Abstract
Goose is a tool for translating a subset of the Go programming language into Perennial/Iris, which is an extension of Coq. However, Goose did not support channels, which are an important synchronization tool that Go is well known for. This thesis presents an extension to Goose to support channels, including a model to represent Go channels and operations in GooseLang, the language defined in Perennial/Iris that Goose translates into, an extension to the Goose translator to support channels, and a library of separation logic specifications that define the expected behavior of channel operations on open channels. Finally, this thesis evaluates how effective this model and library is for verifying Go code containing channels, and discuss some limitations and potential future work.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
In Copyright - Educational Use Permitted
https://rightsstatements.org/page/InC-EDU/1.0/
Copyright retained by author(s)
Persistent DSpace Link
https://hdl.handle.net/1721.1/159079
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.