Science Score: 67.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
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    3 of 6 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.7%) to scientific vocabulary

Keywords from Contributors

mesh interpretability sequences interactive hacking network-simulation
Last synced: 6 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: tudo-aqua
  • Language: SMT
  • Default Branch: main
  • Size: 8.67 MB
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 0
  • Open Issues: 10
  • Releases: 0
Created over 4 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation Authors

README.md

Konstraints

Konstraints is a Kotlin library for working with SMT expressions that is designed to be used from any JVM language. It allows the definition and inspection of SMT expressions, serialization and deserialization via the SMT-Lib 2.6 format[^1] and provides bindings to multiple solvers. As opposed to Java-SMT[^2], it SMT-Lib programs are represented as generic objects, allowing easy programmatic introspection. It is designed to succeed JConstraints[^3] and build upon its concepts.

At the moment, Konstraints is pre-alpha software. While we are happy te receive feedback from early adopters, the library is still incomplete and APIs may change without warning.

Development

Building is completely done using Gradle. Most IDEs should be able to import the project without any manual configuration.

To build Konstraints and deploy it to a local Maven repository for subsequent use, run

shell ./gradlew publishToMavenLocal

Style enforcement is performed by Spotless. Run

shell ./gradlew spotlessApply

to apply formatting to all files before committing.

License

Konstraints source code is licensed unser the Apache License, Version 2.0. Its documentation is licensed under the Creative Commons Attribution 4.0 International License. Dependencies, especially solvers, may use other licenses.

[^1]: Barrett, C., Fontaine, P., & Tinelli, C. (2021, May). The SMT-LIB standard: Version 2.6 (tech. rep.) (Release: 2021-05-12). Department of Computer Science, The University of Iowa. https://smtlib.cs.uiowa.edu

[^2]: Baier, D., Beyer, D., & Friedberger, K. (2021). JavaSMT 3: Interacting with SMT solvers in Java. In A. Silva & K. R. M. Leino (Eds.), Computer aided verification (pp. 195–208, Vol. 12760). Springer International Publishing. https://doi.org/10.1007/978-3-030-81688-9_9

[^3]: Howar, F., Jabbour, F., & Mues, M. (2019). JConstraints: A library for working with logic expressions in Java. In T. Margaria, S. Graf, & K. G. Larsen (Eds.), Models, mindsets, meta: The what, the how, and the why not? (pp. 310–325, Vol. 11200). Springer International Publishing. https://doi.org/10.1007/978-3-030-22348-9_19

Citation (CITATION.cff)

#  SPDX-License-Identifier: Apache-2.0
#
#  Copyright 2023-2025 The Konstraints Authors
#
#  Licensed under the Apache License, Version 2.0 (the "License");
#  you may not use this file except in compliance with the License.
#  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.

cff-version: "1.2.0"
message: "If you use this software, please cite it using the metadata from this file."

authors:
  - given-names: "Simon"
    family-names: "Dierl"
    email: "simon.dierl@tu-dortmund.de"
    orcid: "https://orcid.org/0000-0001-9730-9335"
    affiliation: "TU Dortmund University"
  - given-names: "Felix"
    family-names: "Holewa"
    affiliation: "TU Dortmund University"
  - given-names: "Falk"
    family-names: "Howar"
    email: "falk.howar@tu-dortmund.de"
    orcid: "https://orcid.org/0000-0002-9524-4459"
    affiliation: "TU Dortmund University"
  - given-names: "Malte"
    family-names: "Mues"
    email: "malte.mues@tu-dortmund.de"
    orcid: "https://orcid.org/0000-0002-6291-9886"
    affiliation: "TU Dortmund University"
  - given-names: "Laurenz Levi"
    family-names: "Spielmann"
    email: "laurenz-levi.spielmann@tu-dortmund.de"
    affiliation: "TU Dortmund University"

title: "Konstraints"
type: "software"

license:
  - "Apache-2.0"
  - "CC-BY-4.0"
repository-code: "https://github.com/tudo-aqua/konstraints"

references:
  - authors:
      - given-names: "Clark"
        family-names: "Barrett"
      - given-names: "Pascal"
        family-names: "Fontaine"
      - given-names: "Cesare"
        family-names: "Tinelli"
    title: "The SMT-LIB Standard: Version 2.6"
    type: "report"
    date-published: "2021-05-12"
    url: "https://smtlib.cs.uiowa.edu"

  - authors:
      - given-names: "Daniel"
        family-names: "Baier"
      - given-names: "Dirk"
        family-names: "Bayer"
      - given-names: "Karlheinz"
        family-names: "Friedberger"
    title: "JavaSMT 3: Interacting with SMT solvers in Java"
    editors:
      - given-names: "Alexandra"
        family-names: "Silva"
      - given-names: "K. Rustan M."
        family-names: "Leino"
    collection-title: "Computer aided verification"
    type: "conference-paper"
    date-published: 2021-06-15
    doi: "10.1007/978-3-030-81688-9_9"

  - authors:
      - given-names: "Falk"
        family-names: "Howar"
      - given-names: "Fadi"
        family-names: "Jabbour"
      - given-names: "Mues"
        family-names: "Malte"
    title: "JConstraints: A Library for Working with Logic Expressions in Java"
    editors:
      - given-names: "Tiziana"
        family-names: "Margaria"
      - given-names: "Susanne"
        family-names: "Graf"
      - given-names: "Kim G."
        family-names: "Larsen"
    collection-title: "Models, Mindsets, Meta: The What, the How, and the Why Not?"
    type: "book"
    date-published: "2019-06-26"
    doi: "10.1007/978-3-030-22348-9_19"

GitHub Events

Total
  • Issues event: 24
  • Delete event: 61
  • Issue comment event: 25
  • Push event: 153
  • Pull request review comment event: 45
  • Pull request review event: 17
  • Pull request event: 116
  • Create event: 54
Last Year
  • Issues event: 24
  • Delete event: 61
  • Issue comment event: 25
  • Push event: 153
  • Pull request review comment event: 45
  • Pull request review event: 17
  • Pull request event: 116
  • Create event: 54

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 318
  • Total Committers: 6
  • Avg Commits per committer: 53.0
  • Development Distribution Score (DDS): 0.509
Past Year
  • Commits: 87
  • Committers: 3
  • Avg Commits per committer: 29.0
  • Development Distribution Score (DDS): 0.356
Top Committers
Name Email Commits
laurenzlevi l****i 156
dependabot[bot] 4****] 117
Simon Dierl s****l@c****e 29
Malte Mues m****s@g****m 11
Falk Maria Howar f****r@t****e 4
feho243 f****a@t****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 23
  • Total pull requests: 152
  • Average time to close issues: 19 days
  • Average time to close pull requests: 12 days
  • Total issue authors: 3
  • Total pull request authors: 5
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.34
  • Merged pull requests: 112
  • Bot issues: 1
  • Bot pull requests: 124
Past Year
  • Issues: 8
  • Pull requests: 91
  • Average time to close issues: 28 days
  • Average time to close pull requests: 17 days
  • Issue authors: 3
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.36
  • Merged pull requests: 53
  • Bot issues: 1
  • Bot pull requests: 82
Top Authors
Issue Authors
  • laurenzlevi (22)
  • no-preserve-root (6)
  • dependabot[bot] (1)
Pull Request Authors
  • dependabot[bot] (171)
  • laurenzlevi (30)
  • no-preserve-root (17)
  • mmuesly (2)
  • feho243 (1)
Top Labels
Issue Labels
enhancement (22) bug (1) dependencies (1) java (1)
Pull Request Labels
dependencies (171) java (165) github_actions (6) enhancement (1) bug (1)

Dependencies

.github/workflows/ci.yml actions
  • EnricoMi/publish-unit-test-result-action v2 composite
  • actions/checkout v4 composite
  • actions/setup-java v4 composite
  • gradle/actions/setup-gradle v3 composite
  • gradle/actions/wrapper-validation v3 composite
build.gradle.kts maven