About This Item

Ask the MINDS@UW Librarian

Code Sandwiches

Show full item record

File(s):

Author(s)
Elder, Matt; Jackson, Steve; Liblit, Ben
Publisher
University of Wisconsin-Madison Department of Computer Sciences
Citation
TR1647
Date
2008
Abstract
A code sandwich consists of before, after, and body code. Typically, the before code makes some change, the body code works in the context of the change, and the after code undoes the change. A code sandwich must guarantee that its after code will execute if its before code has executed, even if exceptions arise. This pattern is common to many programming situations, and most modern languages have some language-level support for expressing it. We survey support for code sandwiches in several programming languages and proposed language extensions. We explain why such support can improve a program, consider related features, and discuss desirable properties that a language can provide its programmers. We relate these properties to Jyro, our code sandwich extension to Java. We examine two large, mature open-source programs, find numerous sandwich-related bugs and readability issues, and demonstrate how they might be avoided using our Jyro implementation.
Permanent link
http://digital.library.wisc.edu/1793/60658 
Export
Export to RefWorks 
‚Äč

Part of

Show full item record

Search and browse




About MINDS@UW

Deposit materials

  1. Register to deposit in MINDS@UW
  2. Need deposit privileges? Contact us.
  3. Already registered? Have deposit privileges? Deposit materials.