Software

ACAPP (2007)

ACAPP is a cache performance modeling tool that predicts the performance of different cache configurations for modeling computer system performance. ACAPP was presented in HPCA 2007 tutorial (slides). Techniques used in ACAPP are described in an HPCA 2005 paper, and a SIGMETRICS 2006 paper.

Download here.

HeapServer (2006)

HeapServer is a memory management library that provides comprehensive security protection for the heap. Heap vulnerabilities are increasingly being exploited for attacks on computer programs. In most implementations, the heap management library keeps the heap meta-data (heap structure information) and the application’s heap data in an interleaved fashion and does not protect them against each other. Such implementations are inherently unsafe: vulnerabilities in the application can cause the heap library to perform unintended actions to achieve control-flow and non-control attacks. HeapServer removes many such vulnerabilities by packaging memory management functions into a separate address space, relying on a server-based approach in which a server process manages the heap of client applications. Heap Server prevents the heap meta-data from being illegally overwritten, and heap data from being meaningfully overwritten.

The idea, concepts, design, and implementations of HeapServer was presented in an ASPLOS 2006 paper (slides)

Download here.

Scal Tool (1999)

Scal-Tool is a tool to predict scalability bottlenecks for programs that run on cache-coherent Distributed Shared Memory architecture, such as the SGI Origin 2000. The techniques central to the tool were published in Supercomputing 99 paper (link), and was presented in an HPCA tutorial in 2000. Scal-Tool was adopted by National Center for Supercomputing Applications (NCSA) to be a part of its software repository. The repository contains tools that are useful for high performance computing community affiliated with NCSA. NCSA was part of NPACI initiative that centralizes NSF supercomputing resources, and grants access to high performance computing researchers nationwide. In addition to NCSA, Scal-Tool has also been used by researchers at Los Alamos National Laboratory and Kyushu University in Japan.

Download here.

FODEX (1997)

FODEX stands for Forensic Document Examination. FODEX is an image processing toolset that performs a wide variety of image transformations to make the job of human analysts easier. The transformations include handwriting image-specific thresholding (described in IEEE PAMI paper, and in an ICDAR paper), slant correction, baseline correction, various OCR-related segmentations (document into lines, a line into words, and a word into characters), and various feature extractions. The tool has been used at the Ben-Gurion University in Israel for paleographical analysis of ancient Hebrew manuscripts, and by a non-profit organization Demokritos in Athens, Greece.

Download here.