Menu

Tree [1b51c5] master /
 History

HTTPS access


File Date Author Commit
 .settings 2012-05-18 Jiri Daniel Jiri Daniel [a63c93] Formatting changes
 lib 2013-11-28 Vojtech Horky Vojtech Horky [b7f965] Use named options
 src 2016-02-12 Vikas Mishra Vikas Mishra [1b51c5] Add support for different time source
 tools 2013-01-14 Martin Lacina Martin Lacina [d19c61] Updated castor library and its dependencies. Up...
 .classpath 2013-11-28 Vojtech Horky Vojtech Horky [b7f965] Use named options
 .gitignore 2012-12-03 Jaroslav Kotrc Jaroslav Kotrc [f1a4ef] Added javadoc to formula parser.
 .project 2012-06-01 Jiri Daniel Jiri Daniel [352d34] just a merge from testparser branch
 LICENSE.txt 2013-01-08 Frantisek Haas Frantisek Haas [768ff9] Renamed license file.
 README.txt 2013-03-20 Frantisek Haas Frantisek Haas [c15454] Readme format fix.
 SPL.importorder 2012-05-08 Jiri Daniel Jiri Daniel [e17e37] code style
 SPLcodetemplates.xml 2012-05-08 Jiri Daniel Jiri Daniel [e17e37] code style
 SPLformater.xml 2012-12-29 Frantisek Haas Frantisek Haas [d17683] Formatter reverted, makes license ugly.
 SPLicon.png 2015-04-15 Petr Tuma Petr Tuma [4c01d4] Project icon draft.
 SPLicon.xcf 2015-04-15 Petr Tuma Petr Tuma [4c01d4] Project icon draft.
 SPLsaveactions.xml 2012-05-08 Jiri Daniel Jiri Daniel [e17e37] code style
 build.xml 2013-11-28 Vojtech Horky Vojtech Horky [59e91e] Add --verbose, be more silent by default

Read Me

=== Introduction ===

Stochastic Performance Logic (SPL) tools serve for capturing performance
assumptions.

With SPL, it is possible to annotate Java functions with assumptions stating,
for example, that the annotated function is at most three times slower than
array copying. The assumption is then checked at build time in a similar way as
standard unit testing. In other words, SPL is about introducing performance
assert().

The advantage of SPL in comparison with other similar solutions includes
following. SPL formulas uses well-defined logic and statistically sound testing
(such as t-test). Next, SPL is aimed at automatic evaluation. And finally, SPL
formulas uses relative comparisons (opposed to comparing against fixed time) to
provide better portability.



=== About tools ===

SPL Tools project consists of a command line utility, an Eclipse plugin and a
Hudson plugin. These tools are stored in separate repositories. The basic
functionality is placed in the main _this_ repository and is used by both
Eclipse and Hudson plug-in as a library.

This repository URL
git://git.code.sf.net/p/spl-tools/code
The Eclipse plugin URL
git://git.code.sf.net/p/spl-tools/eclipseplugin
The Hudson plugin URL
git://git.code.sf.net/p/spl-tools/hudson

Project development documentation and user manual URL
git://git.code.sf.net/p/spl-tools/doc



=== Requirements ===

To compile and run the code Java Development Kit 1.7 and Ant 1.8 or higher is
required. The code is built using ant targets.



=== Build ===

ant             - builds the code
ant dist        - builds packed jar distribution
ant zip-dist    - builds and packs jar and dependencies to zip file
ant doc         - builds JavaDoc documentation
ant test-junit  - builds and runs unit tests
ant case-study  - downloads actual case study files and runs it



=== Filesystem structure ===

(d) build             (generated files)
(d)  |- dist          (completely packed project)
(d) lib               (folder for SPL library JAR files) 
(d) src               (various source files)
(d)  |- examples      (XML and INI examples)
(d)  |- java          (main Java source files) 
(d)  |- script        (shell wrappers)
(d)  |- test          (test files)
(d)    |- junit       (unit tests) 
(d)    |- projects    (integration tests, performed by dynamic junit tests) 
(d)  |- uml           (documentation diagrams) 
(d)  |- xslt          (xml to html evaluator transformation files) 
(d) tools             (various tools) 
(-) .classpath        (Project Java class path configuration file) 
(-) .gitignore        (GIT ignore file) 
(-) .project          (Eclipse file with project configuration) 
(-) LICENSE.txt       (SPL license file) 
(-) SPLcodetemplates  (Eclipse file) 
(-) SPLformater       (Eclipse file with formatting options) 
(-) SPLsaveactions    (Eclipse file)



=== Run ===

To run the application execute in build/dist directory a) java -jar SPL.jar
(on all platforms) b) spl.bat c) spl.sh 



=== Examples ===

Some examples may be found in the src/test/projects directory.

And more example projects on following URLs
git://git.code.sf.net/p/spl-tools/testingrepository1
git://git.code.sf.net/p/spl-tools/testingrepository2
svn://svn.code.sf.net/p/spl-tools/testingrepository3/