Archives

Previous Projects and other Documents.

 

Automatic Documentation Inference for Exceptions (ISSTA 2008)

We present a fully automated tool that statically infers and characterizes exception-causing conditions in Java programs. Our tool is based on an inter-procedural, context-sensitive analysis. The output of this tool is well-suited for use as human-readable documentation of exceptional conditions.

DocInf Main Page

A Readability Metric for Software (ISSTA 2008)

A metric for the readability of Java source code (and potentially other similar languages) derived from human judgments.

Readability Main Page

Conclipse

Developing a plugin framework that should allow for easy addition of many types of static java code analysis to eclipse. Interface presents an Abstract Syntax Tree and Document Object Model, and elicits error markers and suggestions.

Conclipse Main Page

NFS Presentation

Overview of Sun's Network File System. Also, cool template.

Download (2MB ppt)

Dynasty

Dynasty is a sophisticated visualization tool for very large hyper graphs (possibly unlimited nodes) written in JAVA. It has many possible applications, ranging from software engineering to the intelligence industry. Its first use will be to visualize solutions created by Dyna, very-high-level programming language that specifies dynamic programs.

Presented at InfoVis 06!

Dynasty Home

Stragetaire

Stragetaire (Solitaire + Strategy) is a simulator for testing simple user-defined strategies on the game of solitaire. The idea is to make it easy to define such strategies and then test them. I wrote this just out of curiosity for what the optimal strategy in Solitaire is. Though many people have written Solitaire guides. I haven't found anyone else online that has done formal research on this - to present real evidence that their strategy is a good one.

Clandestmas

Clandestmas (Clandestine + Christmas) is a "secret santa" system that allows for double-blind gift-giving which is unlike anything you've participated in before. That is to say, neither do you know who is getting your gift, nor do you know who your gift is for. You choose a recipient based on gift ideas that each user enters. There are mechanisms to prevent two people in the same family from being assigned to one another. In addition I have created a set of administration tools.

Clandestmas is written in php (exploiting the nice object-oriented features of it where possible) with a mysql database attached.

Version 1.0b has been posted! You can try it out here: Clandestmas. I just added some documentation, which i think is worth reading.

Countdown Timer

Easily create a condown applet.

demo
instructions

UML Overview Presentation

Quick overview of UML www.omg.org has official spec.

download 345KB pdf

download 1.03MB ppt

Geometry and Feature-Based Face Detection

This was a neat computer vision project which addressed one of the most popular problems in computer vision - face detection. Take a look at the write up below.

Project Description 1.67MB pdf

Java BomberMan

Bomberman is an arcade game written in Java. It is multi-threaded (unlike most arcade games) and highly modular. There is a map-editor, and choice screens.

download someday

Weed IM

WeeIM is a highly-persistent Instant messaging system. It is designed to be replicated across several servers, and can withstand all sorts of crashes and network partitions. the system is written in c++ and is highly modularized. So far, I've only tested it on Solaris and Fedora Linux. If nothing else, it is an interesting foray into distributed design.

download someday