Delta
Details
| Size: | 0K |
| Last Update: | 2008-05-29 20:59:03 |
| Version: | 2006.07.15 |
| OS Support: | Linux |
| License/Program Type: | GPL (GNU General Public License) |
| Publisher: | Daniel S. Wilkerson and Scott McPeak |
| Price: | $0.00 |
Description:
Delta 2006.07.15 is quality assurance and testing software developed by Daniel S. Wilkerson and Scott McPeak.
Delta project assists users in minimizing "interesting" files, subject to a test of their "interestingness".
A common such situation is when attempting to isolate a small failure-inducing substring of a large input that causes a program to exhibit a bug.
The best way to understand how to use delta is with an example of its usage. Below is one example helpfully written up for me by Simon Goldsmith; read it first. For those wanting more, I also wrote a more detailed and harder to read document describing each tool: Using Delta.
Note that what follows is an example of using delta to minimize an input file to a program that reads programs, much as a compiler does. Note two features of file minimization that are present in the example.
Do a controlled experiment.
Below we don't just minimize a file that causes Oink to produce an error message, we minimize a file that causes gcc to accept AND oink to reject in a specific way. That is, the test delta does is a controlled experiment, where gcc is the control. Ignoring this aspect of the problem seems to be a frequent mistake of first time users.
Exploit nested structure.
One may minimize files of simpler syntax than C++ but really all files are interesting in the first place because they are in some language or another. Some simple configuration files are literally just a list of lines but most languages have some nested structure. Multidelta filters the input through the topformflat utility (included) to suppress any newlines past a particular nesting depth; this "explains" the nesting structure to the otherwise line-oriented delta utility (a brilliantly simple idea of Scott McPeak's).
If your input file language has no nesting structure, you can hack on multidelta to remove the filtration through topformflat or just use the raw delta program. If your language has a different nesting structure than C/C++, you can write your own multidelta and substitute it. A simple flex program should suffice; it need not be terribly accurate for delta to do well.
What's New in This Release:
It is now much easier to stop delta.
It catches signals and distinguishes them from return codes.
It watches for the DELTA-STOP file at the same granularity as the tests are run.
In multidelta, running the input file through cpp is off by default and can be turned on with the flag -cpp.
Delta 2006.07.15 supports different languages (including english). It works with Linux.
Downloading Delta 2006.07.15 will take if you use fast ADSL connection.
0 comments
Add to
Delta Version History
Related Software
|
|
From category: Libraries |
| cx_Oracle 4.2.1 is libraries software developed by Anthony Tuininga. cx_Oracle is a Python extension module that allows access to Oracle, and conforms to the Python database API specifications. cx_... |
|
|
From category: Libraries |
| Audio::TagLib::Tag 1.42 is libraries software developed by Dongxu Ma. Audio::TagLib::Tag is a simple, generic interface to common audio meta data fields. This is an attempt to abstract away... |
|
|
From category: Libraries |
| Access_user Class 1.92 is libraries software developed by FinalWebSites. Access_user Class is an easy to use system for protecting pages and registering users. The main features are user login, use... |
|
|
From category: Libraries |
| gstreamer-java is a Java interface to the gstreamer framework.... |
|
|
From category: Version-Control |
| Etcsvn 0.2.1 is version control software developed by Joseph Rawson. Etcsvn is a command line program for managing system configurations in subversion. Etcsvn doesn\'t make a working copy out of yo... |
|
|
From category: Libraries |
| DBD::Oracle 1.19 is libraries software developed by Tim Bunce. DBD::Oracle is a Perl module with Oracle database driver for the DBI module. SYNOPSIS use DBI; $dbh = DBI->co... |
|
|
From category: Preprocessors |
| EmPy 3.3 is preprocessors software developed by Eleventh Hour. EmPy is a system for embedding Python expressions and statements in template text; it takes an EmPy source file, processes it, and pro... |
|
|
From category: Libraries |
| FaceRSS 0.1 is libraries software developed by Matej Koval. FaceRSS is a simple JavaServer Faces (JSF) component that allows you to display news from specified RSS url source in one configurable ta... |
|
|
From category: Libraries |
| Convert::Number::Digits 0.03 is libraries software developed by Daniel Yacob. Convert::Number::Digits is a Perl module that convert Digits Between the Scripts of Unicode. SYNOPSIS us... |
|
|
From category: Libraries |
| Apache::Audio::DB 0.01 is libraries software developed by Todd Harris. Apache::Audio::DB is a Perl module that can generate a database of your tunes complete with searchable interface and nifty sta... |
|
|
From category: Libraries |
| classLivejournal.php 0.1.2 is libraries software developed by Kitya Karlson. classLivejournal.php is a PHP class serves as a safe and powerful interface to embed your livejournal.com blog into your... |
|
|
From category: Libraries |
| Big Faceless PDF Library 2.7.6 is libraries software developed by Big Faceless Organization. The Big Faceless PDF Library is a Java class library for creating PDF documents. The Extended Edition of... |
|
|
From category: Assembler-Tools |
| cm Compilation Manager 0.5.1 is assembler tools software developed by Aaron Kimball. cm Compilation Manager is a new tool for build automation and compilation management. cm Compilation Manager add... |
|
|
From category: Perl-Modules |
| Lingua::Zompist::Cuezi is a Perl module to inflect Cuezi nouns, verbs, and adjectives.... |
|
|
From category: Libraries |
| Audio::Mad 0.6 is libraries software developed by Mark McConnell. Audio::Mad is a Perl interface to the mad MPEG decoder library. SYNOPSIS use Audio::Mad qw(:all); my $st... |
Leave a comment