konstraints
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
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
Metadata Files
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
Top Committers
| Name | 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
Pull Request Labels
Dependencies
- 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