ADSL - Abstract Data Store Library
ADSL is a gem for formal verification of Ruby on Rails models. Simply include it in your Gemfile, write a few
invariants (rules) about ActiveRecord data that you wish to verify (for example, that at any given moment, every
Address has a User) and run
Besides the verification algorithm, this tool includes a DSL for specifying invariants. The syntax should feel natural to any Rails user. Look at /examples.
This gem is tested on 64 bit Linux. OS-X compatibility not tested, give it a try and tell us if it works! Windows is not supported at this moment.
z3) on your $PATH
SPASS) on your $PATH
gem install adsl. If you receive an error while generating documentation for ‘activesupport’ run
gem install rdoc adslinstead.
rake verify <options>
Or, to just observe the extracted model,
The gem also adds an executable
adsl that can be used for more fine tuned options. Use
adsl --help to look at options.
The ADSL gem is currently hosted at github. The github web page is http://github.com/Bocete/adsl. You can download the source using our public git clone URL:
Feature requests and bug reports can be made at https://github.com/Bocete/adsl/issues
Rake is available under a Lesser GPL (LGPL) license.
This software is provided “as is” and without any express or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for a particular purpose.