SeRu is a tool for automatic program reduction.
It uses a combination of syntactic and semantic reduction strategies to combine speed and effectiveness.
SeRu is designed to support any semantic reduction command and any language.
Usage
SeRu currently supports:
Syntactic reducers
Perses
Semantic reducers for languages
CUE
Pre-requisites
Steps 1 & 2 are only necessary while the repository are private
SeRu will download such dependencies automatically
Download Perses & CUE-specific extension (latest from the release page)
go run -ldflags="-X github.com/mandoway/seru/version.Version=v0.0.1-alpha" .
go build -ldflags="-X github.com/mandoway/seru/version.Version=v0.0.1-alpha" && ./seru
Command line options:
-i <input>Required
Target file to reduce
-t <test>Required
Test script checking if the reduced file still kept the required property
A test script must return 0 when the property was kept and 1 (or any code) if the property was lost