<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="/v2/static/oai2.xsl"?>
<OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd">
  <responseDate>2026-10-08T03:53:35Z</responseDate>
  <request identifier="oai:figshare.com:article/30999184" metadataPrefix="oai_dc" verb="GetRecord">https://api.figshare.com/v2/oai</request>
  <GetRecord>
    <record>
      <header>
        <identifier>oai:figshare.com:article/30999184</identifier>
        <datestamp>2026-09-22T08:08:00Z</datestamp>
        <setSpec>category_29182</setSpec>
        <setSpec>item_type_3</setSpec>
        <setSpec>month_year_09_2026</setSpec>
      </header>
      <metadata>
        <oai_dc:dc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
          <dc:title>Forecasting the Maintained Score from the OpenSSF Scorecard: A Study of GitHub Repositories Linked to PyPI Packages</dc:title>
          <dc:creator>Alexandros Tsakpinis (17863247)</dc:creator>
          <dc:creator>Efe Berk Ergüleç (23565539)</dc:creator>
          <dc:creator>Emil Schwenger (23565517)</dc:creator>
          <dc:creator>Alexander Pretschner (9241805)</dc:creator>
          <dc:subject>Empirical software engineering</dc:subject>
          <dc:subject>Maintenance Activities</dc:subject>
          <dc:subject>Open-Source Software</dc:subject>
          <dc:subject>Time Series Forecasting</dc:subject>
          <dc:description>&lt;h2 dir="ltr"&gt;Overview&lt;/h2&gt;&lt;p dir="ltr"&gt;This replication package accompanies the paper &lt;b&gt;“&lt;/b&gt;&lt;b&gt;Forecasting the Maintained Score from the OpenSSF Scorecard: A Study of GitHub Repositories Linked to PyPI Packages&lt;/b&gt;&lt;b&gt;”&lt;/b&gt;. It contains all code, configuration files, input datasets, and generated outputs required to reproduce the study’s experiments on forecasting the OpenSSF Maintained score for GitHub Repositories linked to PyPI libraries.&lt;/p&gt;&lt;p dir="ltr"&gt;&lt;b&gt;Note:&lt;/b&gt; The replication package is distributed in ZIP-compressed form, as the total size of the uncompressed contents is approximately 10.5 GB.&lt;/p&gt;&lt;h2 dir="ltr"&gt;Contents&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;&lt;strong&gt;00_testing/&lt;/strong&gt;&lt;/code&gt;&lt;br&gt;End-to-end experimental pipeline covering repository filtering, maintenance score computation, data processing and sampling, time-series analysis, and plotting. Experiments are driven by configurable JSON setups.&lt;/li&gt;&lt;li&gt;&lt;code&gt;&lt;strong&gt;01_input/&lt;/strong&gt;&lt;/code&gt;&lt;br&gt;Input datasets, including:&lt;/li&gt;&lt;li&gt;&lt;ul&gt;&lt;li&gt;Aggregated PyPI and GitHub ecosystem metrics (JSON)&lt;/li&gt;&lt;li&gt;Preprocessed relational dataset with computed maintenance scores (Parquet)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;&lt;strong&gt;05_implementation/&lt;/strong&gt;&lt;/code&gt;&lt;br&gt;Model implementations and orchestration logic, including:&lt;/li&gt;&lt;li&gt;&lt;ul&gt;&lt;li&gt;Random Forest&lt;/li&gt;&lt;li&gt;Long Short-Term Memory (LSTM)&lt;br&gt;This directory also contains shared utilities and training/evaluation workflows.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;code&gt;&lt;strong&gt;06_results/&lt;/strong&gt;&lt;/code&gt;&lt;br&gt;Reproducible outputs such as JSON metrics, averaged and iterated confusion matrices, visualizations, and analysis notebooks.&lt;/li&gt;&lt;/ul&gt;&lt;h2 dir="ltr"&gt;Reproduction Instructions&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Create a virtual environment and install dependencies from &lt;code&gt;requirements.txt&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Run experiments via &lt;code&gt;00_testing/main.py&lt;/code&gt; using a selected configuration file, for example:&lt;pre&gt;&lt;pre&gt;python 00_testing/main.py --config 00_testing/config/complete_lstm.json&lt;/pre&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Results are written to &lt;code&gt;06_results/&lt;/code&gt; as JSON files and plots.&lt;/li&gt;&lt;/ol&gt;&lt;p dir="ltr"&gt;Configuration files allow control over:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Sampling strategies (unbalanced, balanced, hybrid)&lt;/li&gt;&lt;li&gt;Forecasting type (single-step, multi-step iterative, multi-step direct)&lt;/li&gt;&lt;li&gt;Sequence lengths&lt;/li&gt;&lt;li&gt;Time windows&lt;/li&gt;&lt;/ul&gt;&lt;h2 dir="ltr"&gt;Models and Evaluation&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Models&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;ul&gt;&lt;li&gt;Random Forest&lt;/li&gt;&lt;li&gt;LSTM&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Prediction Targets&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;Daily mode&lt;/i&gt;: absolute maintenance score (0–10)&lt;/li&gt;&lt;li&gt;&lt;i&gt;Slope mode&lt;/i&gt;: month-to-month change in maintenance score (−10 to +10)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Evaluation Metrics&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;ul&gt;&lt;li&gt;Regression: MSE, RMSE, MAE, R²&lt;/li&gt;&lt;li&gt;Classification: accuracy, precision, recall, F1&lt;/li&gt;&lt;li&gt;Confusion matrices aggregated across iterations and parameter grids&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 dir="ltr"&gt;Data Notes&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Input JSON files aggregate ecosystem activity and repository-level metrics.&lt;/li&gt;&lt;li&gt;Parquet files provide the prepared relational dataset with computed maintenance scores.&lt;/li&gt;&lt;li&gt;Notebooks in &lt;code&gt;06_results/&lt;/code&gt; document analyses (e.g., boxplots, bucketed confusion matrices and heatmaps) corresponding to figures presented in the paper.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;</dc:description>
          <dc:date>2026-09-22T08:08:00Z</dc:date>
          <dc:type>Dataset</dc:type>
          <dc:type>Dataset</dc:type>
          <dc:identifier>10.6084/m9.figshare.30999184.v1</dc:identifier>
          <dc:relation>https://figshare.com/articles/dataset/Forecasting_the_Maintained_Score_from_the_OpenSSF_Scorecard_A_Study_of_GitHub_Repositories_Linked_to_PyPI_Packages/30999184</dc:relation>
          <dc:rights>CC BY 4.0</dc:rights>
        </oai_dc:dc>
      </metadata>
    </record>
  </GetRecord>
</OAI-PMH>
