sbom-2023
Experimental Data about Java SBOMs https://arxiv.org/pdf/2303.11102.pdf
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 1 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Committers with academic emails
-
✓Institutional organization owner
Organization chains-project has institutional domain (chains.proj.kth.se) -
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.6%) to scientific vocabulary
Repository
Experimental Data about Java SBOMs https://arxiv.org/pdf/2303.11102.pdf
Basic Info
Statistics
- Stars: 6
- Watchers: 5
- Forks: 4
- Open Issues: 2
- Releases: 2
Metadata Files
README.md
Code and data for Challenges of Producing Software Bill Of Materials for Java
Overview
This repository contains the code and data produced for the paper Challenges of Producing Software Bill Of Materials for Java (IEEE Security & Privacy, 2023).
bibtex
@article{sbomchallenges,
title = {Challenges of Producing Software Bill Of Materials for Java},
journal = {IEEE Security \& Privacy},
year = {2023},
doi = {10.1109/MSEC.2023.3302956},
author = {Musard Balliu and Benoit Baudry and Sofia Bobadilla and Mathias Ekstedt and Martin Monperrus and Javier Ron and Aman Sharma and Gabriel Skoglund and Csar Soto-Valero and Martin Wittlinger},
url = {http://arxiv.org/pdf/2303.11102},
}
The structure of the repository is as follows:
sbom-productioncontains all scripts used for creating CycloneDX SBOM files for each of the 26 study subjects using 6 different SBOM producers.ground-truth-productioncontains all scripts used for extracting a ground truth dataset of dependency trees for each study subject.metrics-computationcontains all code used for computing metrics relating to the performance of the SBOM tools.results-march-2023contains all experimental data.sbom2023_plotcontains additional code and resources related to the creation of figures for the paper.
SBOM Producers
The performance of the following 6 CycloneDX SBOM producers were studied:
These are the latest versions as of
Fri 5 May 2023 13:02:33 CEST.
| Producer | Version | | -------- | ------- | | Build Info Go | 1.9.3 | | CycloneDX Generator | 8.4.3 | | CycloneDX Maven Plugin | 2.7.8 | | jbom | 1.2.1 | | OpenRewrite | 4.45.0 | | Depscan | 4.1.2 |
Study Subjects
The following versions of 26 Java projects using Maven were selected as study subjects:
| # | GitHub Repository | Commit Hash | Stable release as of 01.01.23 | | - | ----------------- | ----------- | ----------------------------- | | 1 | jenkins | ce7e5d7 | 2.384 | | | | 2 | mybatis-3 | c195f12 | 3.5.11 | | | | 3 | flink | c41c8e5 | 1.15.3 | | | | 4 | checkstyle | 233c91b | 10.6.0 | | | | 5 | CoreNLP | f7782ff | 4.5.1 | | | | 6 | neo4j | c082e80 | 5.3.0 | | Central | | 7 | async-http-client | 7a370af | 2.12.3 | | | | 8 | error-prone | 27de40b | 2.17.0 | | | | 9 | alluxio | d5919d8 | 2.9.0 | | | | 10 | javaparser | 1ae25f3 | 3.15.15 | | | | 11 | undertow | f52b70c | 2.3.2.Final | | | | 12 | webcam-capture | e19125c | 0.3.12 | | | | 13 | handlebars.java | 2afc50f | 4.2.1 | | | | 14 | jooby | f71b551 | 3.0.0.M1 | | | | 15 | tika | 41319f3 | 2.6.0 | | | | 16 | orika | eef8209 | 1.5.4 | | | | 17 | spoon | ee73f43 | 10.2.0 | | | | 18 | accumulo | 706612f | 2.1.0 | | | | 19 | couchdb-lucene | 8554737 | 2.1.0 | | | | 20 | jHiccup | a440bda | 2.0.10 | | | | 21 | vulnerability-assessment-tool | 3d261af | 3.2.5 | | | | 22 | para | 41d9005 | 1.47.2 | | | | 23 | launch4j-maven-plugin | 3f9818e | 2.2.0 | | | | 24 | jacop | 1a395e6 | 4.9.0 | | | | 25 | selenese-runner-java | 3e84e8e | 4.2.0 | | | | 26 | commons-configuration | 59e5152 | 2.8.0 | | |
Reproduction
If you are interested in reproducing our results, the script reproduce.sh is provided for your convenience. This script will do the following:
- Generate SBOMs for each study subject and SBOM producer.
- Extract ground truth dependency information from each study subject.
- Calculate the accuracy/precision for each SBOM producer and compare these values with our results, outputting whether the values match or not.
:warning: Please note that this script can take a considerable amount of time (~2 hours on a laptop) since SBOM production needs to be carried out by 6 different producers on 26 different study subjects.
The following software is required for reproduction:
- Java version 17 or newer
- Apache Maven
- Docker
- Python 3.10 or newer
Owner
- Name: CHAINS research project at KTH Royal Institute of Technology
- Login: chains-project
- Kind: organization
- Website: https://chains.proj.kth.se
- Repositories: 9
- Profile: https://github.com/chains-project
"Consistent Hardening and Analysis of Software Supply Chains" at KTH, funded by SSF
GitHub Events
Total
- Fork event: 1
Last Year
- Fork event: 1
Committers
Last synced: about 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Aman Sharma | m****0@g****m | 2 |
| MartinWitt | w****n@g****m | 1 |
| Martin Monperrus | m****s@g****g | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 8 months ago
All Time
- Total issues: 3
- Total pull requests: 4
- Average time to close issues: 2 months
- Average time to close pull requests: about 2 months
- Total issue authors: 2
- Total pull request authors: 3
- Average comments per issue: 0.33
- Average comments per pull request: 1.5
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- monperrus (2)
- bbaudry (1)
Pull Request Authors
- algomaster99 (2)
- prabhu (1)
- renovate[bot] (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- maven 3.8.3-openjdk-17 build
- maven 3.8.3-openjdk-17 build
- amd64/debian bookworm build
- maven 3.8.3-openjdk-17 build
- maven 3.8.3-openjdk-17 build
- maven 3.8.3-openjdk-17 build
- amd64/debian bookworm build
- maven 3.8.3-openjdk-11 build
- maven 3.8.3-openjdk-17 build
- maven 3.8.3-openjdk-17 build
- amd64/debian bullseye-slim build
- maven 3.8.3-openjdk-17 build
- amd64/debian bullseye-slim build
- amd64/debian bullseye-slim build
- maven 3.8.3-openjdk-17 build
- ubuntu 20.04 build
- maven 3.8.3-openjdk-17 build
- maven 3.8.3-openjdk-17 build
- maven 3.8.3-openjdk-17 build
- com.fasterxml.jackson.core:jackson-core 2.15.0-rc1
- com.fasterxml.jackson.core:jackson-databind 2.15.0-rc1
- packageurl-python *
- packageurl-python ==0.10.4