Simplifying reasoning about objects with Tako

  • Authors:
  • Gregory Kulczycki;Jyotindra Vasudeo

  • Affiliations:
  • Virginia Tech, Falls Church, VA;Virginia Tech, Falls Church, VA

  • Venue:
  • Proceedings of the 2006 conference on Specification and verification of component-based systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

A fundamental complexity in understanding and reasoning about object-oriented languages is the need for programmers to view variables as references to objects rather than directly as objects. The need arises because a simplified view of variables as (mutable) objects is not sound in the presence of aliasing. Tako is an object-oriented language that is syntactically similar to Java but incorporates alias-avoidance techniques. This paper describes the features of the Tako language and shows how it allows programmers to view all variables directly as objects without compromising sound reasoning. It discusses the benefits of such a language, including its use as an instructional tool to help teach students how to reason formally about their code.