hyppau

Prototype tool for Hyper Pattern Matching with automata

https://github.com/maswag/hyppau

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary

Keywords

hyperproperty runtime-verification
Last synced: 6 months ago · JSON representation ·

Repository

Prototype tool for Hyper Pattern Matching with automata

Basic Info
  • Host: GitHub
  • Owner: MasWag
  • License: gpl-3.0
  • Language: Rust
  • Default Branch: master
  • Homepage:
  • Size: 300 KB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
hyperproperty runtime-verification
Created about 1 year ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

HypPAu — HYPer Pattern matching with AUtomata

License: GPL v3

This is the source code repository for HypPAu (pronounced the same as "hippo")— a prototype tool for Hyper Pattern Matching.

Usage

Synopsis

bash cargo run -r -- [OPTIONS] -f FILE [FILE...] ./target/release/hyppau [OPTIONS] -f FILE [FILE...]

Options

  • -h, --help: Print a help message.
  • -q, --quiet: Quiet mode. Causes any results to be suppressed.
  • -V, --version: Print the version.
  • -i file, --input file: Read the log from the file. The i-th input file is labeled with i in the output.
  • -f file, --automaton file: Read an automaton written in JSON format from file.
  • -g, --graphviz: Print the automaton in Graphviz DOT format.
  • -o file, --output file: Write the output to file instead of stdout.
  • -m mode, --mode mode: Choose the matching mode: naive, online, fjs, naive-filtered, online-filtered, or fjs-filtered. (default: naive).
  • -v, --verbose: Increase verbosity. Use -v for debug-level messages and -vv for trace-level messages.

Automaton JSON Format

The JSON format for the input automaton is as follows:

json { "dimensions": 2, "states": [ { "id": 0, "is_initial": true, "is_final": false }, { "id": 1, "is_initial": false, "is_final": true }, { "id": 2, "is_initial": false, "is_final": false } ], "transitions": [ { "from": 0, "to": 1, "label": ["a", 0] }, { "from": 0, "to": 2, "label": ["b", 1] }, { "from": 1, "to": 2, "label": ["c", 0] }, { "from": 2, "to": 0, "label": ["d", 1] } ] }

  • dimensions: The number of dimensions in the automaton.
  • states: A list of states where each state has an id, a boolean indicating if it is initial (is_initial), and a boolean indicating if it is final (is_final).
  • transitions: A list of transitions where each transition specifies the source state (from), target state (to), and the label associated with the transition.

Installation

Requirements

  • Rust & Cargo: Ensure you have Rust (and its package manager, Cargo) installed.
    • If not, install them via rustup.

Installing from Source

  1. Clone the Repository: bash git clone https://github.com/MasWag/hyppau.git cd hyppau
  2. Build the Project: Build the project in release mode for an optimized binary: bash cargo build --release
  3. Run the Binary: The compiled executable will be located in target/release/. You can run it by cargo run --release, or directly: bash ./target/release/hyppau
  4. (Optional) Install the Binary: For easier access, you can install hyppau: bash cargo install --release

Examples

bash hyppau -f ./examples/small.json -i ./examples/small1.txt -i ./examples/small2.txt

License

HypPAu is licensed under the GNU General Public License v3.0.

Reference

  • Hyper pattern matching. Masaki Waga, Étienne André

Owner

  • Name: Masaki Waga
  • Login: MasWag
  • Kind: user
  • Location: Kyoto, Japan
  • Company: Kyoto University

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Waga"
  given-names: "Masaki"
  orcid: "https://orcid.org/0000-0001-9360-7490"
title: "HypPAu — HYPer Pattern matching with AUtomata"
url: "https://github.com/MasWag/hyppau"

GitHub Events

Total
  • Public event: 1
  • Push event: 2
Last Year
  • Public event: 1
  • Push event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 1
  • Total Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 1
  • Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Masaki Waga m****a@g****m 1

Issues and Pull Requests

Last synced: 7 months ago


Dependencies

.github/workflows/integrated_test.yml actions
  • actions/checkout v4 composite
  • dtolnay/rust-toolchain stable composite
.github/workflows/unit_test.yml actions
  • actions/checkout v4 composite
  • dtolnay/rust-toolchain stable composite
Cargo.lock cargo
  • ahash 0.7.8
  • aho-corasick 1.1.3
  • anstream 0.6.18
  • anstyle 1.0.10
  • anstyle-parse 0.2.6
  • anstyle-query 1.1.2
  • anstyle-wincon 3.0.7
  • bitflags 2.6.0
  • cfg-if 1.0.0
  • clap 4.5.30
  • clap_builder 4.5.30
  • clap_derive 4.5.28
  • clap_lex 0.7.4
  • colorchoice 1.0.3
  • either 1.13.0
  • env_logger 0.10.2
  • errno 0.3.10
  • fastrand 2.3.0
  • getrandom 0.2.15
  • hashbrown 0.11.2
  • heck 0.5.0
  • hermit-abi 0.4.0
  • humantime 2.1.0
  • is-terminal 0.4.15
  • is_terminal_polyfill 1.70.1
  • itertools 0.10.5
  • itoa 1.0.14
  • libc 0.2.169
  • linux-raw-sys 0.4.14
  • log 0.4.25
  • memchr 2.7.4
  • once_cell 1.20.2
  • proc-macro2 1.0.93
  • quote 1.0.38
  • regex 1.11.1
  • regex-automata 0.4.9
  • regex-syntax 0.8.5
  • rustix 0.38.42
  • ryu 1.0.19
  • serde 1.0.218
  • serde_derive 1.0.218
  • serde_json 1.0.139
  • smallvec 1.14.0
  • string-interner 0.14.0
  • strsim 0.11.1
  • syn 2.0.98
  • tempfile 3.15.0
  • termcolor 1.4.1
  • typed-arena 2.0.2
  • unicode-ident 1.0.17
  • utf8parse 0.2.2
  • version_check 0.9.5
  • wasi 0.11.0+wasi-snapshot-preview1
  • winapi-util 0.1.9
  • windows-sys 0.59.0
  • windows-targets 0.52.6
  • windows_aarch64_gnullvm 0.52.6
  • windows_aarch64_msvc 0.52.6
  • windows_i686_gnu 0.52.6
  • windows_i686_gnullvm 0.52.6
  • windows_i686_msvc 0.52.6
  • windows_x86_64_gnu 0.52.6
  • windows_x86_64_gnullvm 0.52.6
  • windows_x86_64_msvc 0.52.6
Cargo.toml cargo