32 projects tagged "Software Development"
Daikon is an implementation of dynamic detection of likely invariants. An invariant is a property (such as "x=2*y+5" or "this.next.prev = this" or "myarray is sorted by <") that holds at a certain point or points in a program. Invariants are often seen in assert statements, documentation, and formal specifications. Invariants can be useful in program understanding and a host of other applications. Daikon runs a program, observes the values that the program computes, and then reports properties that were true over the observed executions. It can detect properties in Java, C, C++, Perl, and IOA programs, in spreadsheet files, and in other data sources.
JagPDF is a library for generating PDF documents in C/C++, Python, and Java. It supports TrueType (subsetting) and standard 14 Type 1 fonts, font metrics, Unicode, UTF-8 and common 8-bit character encodings, images (JPEG, PNG, or custom), paths, color spaces (RGB, CMYK, CIE based, ICC profiles, indexed), encryption, bookmarks, hyperlinks, and more.
Plan 9 From User Space is a port of the bulk of the Plan 9 software build environment to Unix. While the libraries make an attempt to play nice with the rest of the system (by using the Unix rules for printf verbs and Unix system headers, for example), this port tries to reproduce the Plan 9 build environment as faithfully as possible, providing u.h and libc.h, and blithely redefining tokens such as open, dup, and accept in order to provide implementations that better mimic the Plan 9 semantics. The result is a more complicated and less Unix-friendly environment, but Plan 9 programs can typically be compiled with little or no changes.
The XEVM is an XML processing engine. It's a multi-threaded, Pub/Sub environment for dynamic programming on an event-driven state machine with TCP communications, tight fault free memory management, powerful set algebra, and a magical database. It is 100% C++ (25,000 LOC), with a thin porting layer; there are implementations for POSIX (Mac/Linux) and Win32. The XEVM is for processing XEPL (the Xepl Engine Programming Language).
Jigsaw is an embedded data-store designed for the development of data-warehouse, analytical, and machine learning applications. Jigsaw can perform over one million operations a second, and scale to store tera-bytes of data. The object library contains classes for representing ordered and unordered mappings, highly compressed bit vectors with a range of set theoretic operators, and directly integrates a high performance sort system.