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. On Decision Procedures for Set-Value Fields

On Decision Procedures for Set-Value Fields

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2004-079.ps

Size

18.91 MB

Format

PostScript

Checksum (MD5)

f0cb8539d10946459991a367ce0f8e78

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2004-079.pdf

Size

739.09 KB

Format

Adobe PDF

Checksum (MD5)

d0162784642fb656b339bc1ede073a4e

Author(s)
Kuncak, Viktor
•
Rinard, Martin
Date Issued
November 30, 2004
Series/Report no.
Massachusetts Institute of Technology Computer Science and Artificial Intelligence Laboratory
Abstract
An important feature of object-oriented programming languages is the ability todynamically instantiate user-defined container data structures such as lists, trees,and hash tables. Programs implement such data structures using references todynamically allocated objects, which allows data structures to store unboundednumbers of objects, but makes reasoning about programs more difficult. Reasoningabout object-oriented programs with complex data structures is simplified if datastructure operations are specified in terms of abstract sets of objects associatedwith each data structure. For example, an insertion into a data structure in thisapproach becomes simply an insertion into a dynamically changing set-valued fieldof an object, as opposed to a manipulation of a dynamically linked structure linkedto the object.In this paper we explore reasoning techniques for programs that manipulate datastructures specified using set-valued abstract fields associated with container objects.We compare the expressive power and the complexity of specification languagesbased on 1) decidable prefix vocabulary classes of first-order logic, 2) twovariablelogic with counting, and 3) Nelson-Oppen combinations of multisortedtheories. Such specification logics can be used for verification of object-orientedprograms with supplied invariants. Moreover, by selecting an appropriate subsetof properties expressible in such logic, the decision procedures for these logics yieldautomated computation of lattice operations in abstract interpretation domain, aswell as automated computation of abstract program semantics.
Persistent DSpace Link
http://hdl.handle.net/1721.1/30509
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.