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