Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Curtis Clifton’s Research
[go: Go Back, main page]

Here is a brief overview of some of my research work, including links to my papers. Please see my vita for a bibliography of my papers. My research statement is also on-line.

Timely Dissemination

Documents are posted here to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. These works may not be reposted without the explicit permission of the copyright holder.

The definitive versions of all published papers appearing here are those that actually appeared in print. In some cases, the versions presented here may differ in minor ways. When citing any published papers provided here, please reference the published versions.

This statement of fair use is derived from one posted by The Laboratory for Empirically-based Software Quality Research and Development at the University of Nebraska, Lincoln.

Thesis and Dissertation Research

Modular Reasoning for Aspect-Oriented Programming

Gary Leavens and I are working on extending the modular reasoning benefits of the behavioral subtyping discipline to aspect-oriented programming (particularly AspectJ). We have also worked with Mitch Wand on a core calculus for studying the equational reasoning properties of aspect-oriented languages. More information on the calculus, including a Java-based implementation of the reduction rules, is available from the parameterized aspect calculus page. Here is a listing of my papers on modular, aspect-oriented reasoning:

MultiJava: Open Classes and Multiple Dispatch for Java

The MultiJava Project web site, which I maintain, is the primary source for information on MultiJava. Here is a listing of papers on MultiJava that I have authored or co-authored:

JML: Behavioral Specification and Design-by-Contract for Java

I have participated in the development of the Java Modeling Language, or JML. JML is a specification language for Java. JML supports specifications ranging from simple design-by-contract (think pre- and post-conditions) to full abstract modelling, which allows complete formal specification of behavior without exposing the implementation. I was a co-author of the following paper:

Course Projects

Set Measure via Splitting Operators—A Scheme Implementation

This was a class project for ComS 633, Randomness in Computation, based on the resource bounded measure research of Jack Lutz of the Department of Computer Science at ISU.

For the project I developed a presentation on set measure and implemented martingales, measurements, and infinite sequences in Scheme. This code is currently not in the public domain, except for the random.scm module, generously made available by John David Stone of Grinnell College. I fully intend to release my code under the GPL when time and interest permit. Thus if you are interested in using the code please let me know.

A Polymorphic Typechecking System for Scheme

This was an independent study project in my first year of graduate school. I worked with Gary T. Leavens to improve a polymorphic inference-based type-checker for the Scheme programming language. The type-checking system has been used for the department's principles of programming languages course.

I was responsible for several improvements to the system including:

Other Project Pages

I have also participated in several projects that are no longer active, but still have their own web pages.

Page last modified Monday, March 21, 2005.