Back to search

Kansas State University

Generating high confidence contracts without user input using Daikon and ESC/Java2

Abstract

dc:description.abstract

Invariants are properties which are asserted to be true at certain program points. Invariants are of paramount importance when proving program correctness and program properties. Method, constructor, and class invariants can serve as contracts which specify program behavior and can lead to more accurate reuse of code; more accurate than comments because contracts are less error prone and they may be proved without testing. Dynamic invariant generation techniques run the program under inspection and observe the values that are computed at each program point and report a list of invariants that were observed to be possibly true. Static checkers observe program code and try to prove the correctness of annotated invariants by generating proofs for them. This project attempts to get strong invariants for a subset of classes in Java; there are two phases first we use Daikon, a tool that suggests invariants using dynamic invariant generation techniques, and next we get the invariants checked using ESC/Java2, which is a static checker for Java. In the first phase an ‘Instrumenter’ program inspects Java classes and generates code such that sufficient information is supplied to Daikon to generate strong invariants. All of this is achieved without any user input. The aim is to be able to understand the behavior of a program using already existing tools.

Degree

thesis:*
Grantor dc:publisher
Kansas State University
Year dc:date.issued
2013

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Rayakota, Balaji

Subjects

dc:subject × 4

Rights

dc:rights
Statement dc:rights
  • © the author. This Item is protected by copyright and/or related rights. You are free to use this Item in any way that is permitted by the copyright and related rights legislation that applies to your use. For other uses you need to obtain permission from the rights-holder(s).
Language dc:language.iso
en

Identifiers

dc:identifier.*
Handle dc:identifier.uri
http://hdl.handle.net/2097/15731

Chain of custody

source
Harvested from
Kansas State University
Base URL
krex.k-state.edu/server/oai/request
Last updated
2026-08-21
Source record
OAI-PMH GetRecord
citation

Rayakota, Balaji. Generating high confidence contracts without user input using Daikon and ESC/Java2. Kansas State University, 2013. http://hdl.handle.net/2097/15731