Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Computer Science and Artificial Intelligence Lab (CSAIL)
  3. CSAIL Digital Archive
  4. CSAIL Technical Reports (July 1, 2003 - present)
  5. Reasoning about Relaxed Programs

Reasoning about Relaxed Programs

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2011-050.pdf

Size

254.17 KB

Format

Adobe PDF

Checksum (MD5)

30946ac9e49b2f50cf104448ef4d93e4

Thumbnail Image
Download
Name

relax_source.tgz

Size

42.27 KB

Format

Unknown

Checksum (MD5)

4fe6f8486b4e21f98e840c5bb4809303

Author(s)
Carbin, Michael
•
Kim, Deokhwan
•
Misailovic, Sasa
•
Rinard, Martin C.
Advisor(s)
Martin Rinard
Date Issued
November 15, 2011
Series/Report no.
MIT-CSAIL-TR-2011-050
Abstract
A number of approximate program transformations have recently emerged that enable transformed programs to trade accuracy of their results for increased performance by dynamically and nondeterministically modifying variables that control program execution. We call such transformed programs relaxed programs -- they have been extended with additional nondeterminism to relax their semantics and offer greater execution flexibility. We present programming language constructs for developing relaxed programs and proof rules for reasoning about properties of relaxed programs. Our proof rules enable programmers to directly specify and verify acceptability properties that characterize the desired correctness relationships between the values of variables in a program's original semantics (before transformation) and its relaxed semantics. Our proof rules also support the verification of safety properties (which characterize desirable properties involving values in individual executions). The rules are designed to support a reasoning approach in which the majority of the reasoning effort uses the original semantics. This effort is then reused to establish the desired properties of the program under the relaxed semantics. We have formalized the dynamic semantics of our target programming language and the proof rules in Coq, and verified that the proof rules are sound with respect to the dynamic semantics. Our Coq implementation enables developers to obtain fully machine checked verifications of their relaxed programs.
Persistent DSpace Link
http://hdl.handle.net/1721.1/67031
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.