Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Clyde Ruby is active.

Publication


Featured researches published by Clyde Ruby.


ACM Sigsoft Software Engineering Notes | 2006

Preliminary design of JML: a behavioral interface specification language for java

Gary T. Leavens; Albert L. Baker; Clyde Ruby

JML is a behavioral interface specification language tailored to Java(TM). Besides pre- and postconditions, it also allows assertions to be intermixed with Java code; these aid verification and debugging. JML is designed to be used by working software engineers; to do this it follows Eiffel in using Java expressions in assertions. JML combines this idea from Eiffel with the model-based approach to specifications, typified by VDM and Larch, which results in greater expressiveness. Other expressiveness advantages over Eiffel include quantifiers, specification-only variables, and frame conditions.This paper discusses the goals of JML, the overall approach, and describes the basic features of the language through examples. It is intended for readers who have some familiarity with both Java and behavioral specification using pre- and postconditions.


Behavioral Specifications of Businesses and Systems | 1999

JML: A Notation for Detailed Design

Gary T. Leavens; Albert L. Baker; Clyde Ruby

JML is a behavioral interface specification language tailored to Java. It is designed to be written and read by working software engineers, and should require only modest mathematical training. It uses Eiffel-style syntax combined with model-based semantics, as in VDM and Larch. JML supports quantifiers, specification-only variables, and other enhancements that make it more expressive for specification than Eiffel and easier to use than VDM and Larch.


conference on object-oriented programming systems, languages, and applications | 2000

JML (poster session): notations and tools supporting detailed design in Java

Gary T. Leavens; Clyde Ruby; K. Rustan M. Leino; Erik Poll; Bart Jacobs

JML is a notation for specifying the detailed design of Java classes and interfaces. JMLs assertions are stated using a slight extension of Javas expression syntax. This should make it easy to use. Tools for JML aid in static analysis, verification, and run-time debugging of Java code.


conference on object-oriented programming systems, languages, and applications | 2000

Safely creating correct subclasses without seeing superclass code

Clyde Ruby; Gary T. Leavens

A major problem for object-oriented frameworks and class libraries is how to provide enough information about a superclass, so programmers can safely create new subclasses without giving away the superclasss code. Code inherited from the superclass can call down to methods of the subclass, which may cause nontermination or unexpected behavior. We describe a reasoning technique that allows programmers, who have no access to the code of the superclass, to determine both how to safely override the superclasss methods and when it is safe to call them. The technique consists of a set of rules and some new forms of specification. Part of the specification would be generated automatically by a tool, a prototype of which is planned for the formal specification language JML. We give an example to show the kinds of problems caused by method overrides and how our technique can be used to avoid them. We also argue why the technique is sound and give guidelines for library providers and programmers that greatly simplify reasoning about how to avoid problems caused by method overrides.


conference on object-oriented programming systems, languages, and applications | 2000

JML: notations and tools supporting detailed design in Java

Gary T. Leavens; Clyde Ruby; K. Rustan; M. Leino; Erik Poll; Bart Jacobs


Archive | 1998

JML: a Java Modeling Language

Gary T. Leavens; Albert L. Baker; Clyde Ruby


Archive | 2001

Preliminary design of JML

Gary T. Leavens; Albert L. Baker; Clyde Ruby


Archive | 1998

Preliminary Design of JML: A Behavioral Interface Specification

Gary T. Leavens; Albert L. Baker; Clyde Ruby


Archive | 1997

Specification Facets for More Precise, Focused Documentation

Gary T. Leavens; Clyde Ruby


Modular subclass verification: safely creating correct subclasses without superclass code | 2006

Modular subclass verification: safely creating correct subclasses without superclass code

Gary T. Leavens; Clyde Ruby

Collaboration


Dive into the Clyde Ruby's collaboration.

Top Co-Authors

Avatar

Gary T. Leavens

University of Central Florida

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Erik Poll

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Yoonsik Cheon

University of Texas at El Paso

View shared research outputs
Top Co-Authors

Avatar

Bart Jacobs

Radboud University Nijmegen

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

M. Leino

Radboud University Nijmegen

View shared research outputs
Researchain Logo
Decentralizing Knowledge