sbom-2023

Experimental Data about Java SBOMs https://arxiv.org/pdf/2303.11102.pdf

https://github.com/chains-project/sbom-2023

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
Last synced: 7 months ago · JSON representation

Repository

Experimental Data about Java SBOMs https://arxiv.org/pdf/2303.11102.pdf

Basic Info
  • Host: GitHub
  • Owner: chains-project
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 103 MB
Statistics
  • Stars: 6
  • Watchers: 5
  • Forks: 4
  • Open Issues: 2
  • Releases: 2
Created about 3 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Citation

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-production contains all scripts used for creating CycloneDX SBOM files for each of the 26 study subjects using 6 different SBOM producers.
  • ground-truth-production contains all scripts used for extracting a ground truth dataset of dependency trees for each study subject.
  • metrics-computation contains all code used for computing metrics relating to the performance of the SBOM tools.
  • results-march-2023 contains all experimental data.
  • sbom2023_plot contains 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

"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

All Time
  • Total Commits: 4
  • Total Committers: 3
  • Avg Commits per committer: 1.333
  • Development Distribution Score (DDS): 0.5
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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

ground-truth-production/maven-dependency-tree/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
sbom-production/SCANOSS/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
sbom-production/bom/Dockerfile docker
  • amd64/debian bookworm build
sbom-production/build-info-go/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
sbom-production/cdxgen/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
sbom-production/cyclonedx-maven-plugin/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
sbom-production/dep-scan/Dockerfile docker
  • amd64/debian bookworm build
sbom-production/jbom/Dockerfile docker
  • maven 3.8.3-openjdk-11 build
sbom-production/maven-count-modules/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
sbom-production/maven-dependency-graph/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
sbom-production/openrewrite/Dockerfile docker
  • amd64/debian bullseye-slim build
sbom-production/ort/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
sbom-production/sbom-tool/Dockerfile docker
  • amd64/debian bullseye-slim build
sbom-production/scancode/Dockerfile docker
  • amd64/debian bullseye-slim build
sbom-production/spdx-maven-plugin/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
sbom-production/spdx-sbom-generator/Dockerfile docker
  • ubuntu 20.04 build
sbom-production/spdx-tools/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
sbom-production/swid-maven-plugin/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
sbom-production/syft/Dockerfile docker
  • maven 3.8.3-openjdk-17 build
metrics-computation/pom.xml maven
  • com.fasterxml.jackson.core:jackson-core 2.15.0-rc1
  • com.fasterxml.jackson.core:jackson-databind 2.15.0-rc1
metrics-computation/transformer/Pipfile pypi
  • packageurl-python *
metrics-computation/transformer/Pipfile.lock pypi
  • packageurl-python ==0.10.4