遇见数据集

Analysis of Conflict and Dependency Graphs of Highly Configurable Software

收藏
Zenodo2025-12-01 更新2026-05-26 收录
官方服务:

资源简介:

Network Analysis of Large Variability Models This repository contains the statistical analysis code accompanying the research paper: "Unleashing the Power of Network Analysis to Understand Large Variability Models" 📊 Quick Start: Viewing Results The complete analysis results are available in analysis.html. Simply open this file in any web browser to view all visualizations, statistical tests, and findings. 🔬 Analysis Source Code The analysis is implemented in analysis.qmd, a Quarto document (R-based literate programming) that combines: - R code for data processing and statistical analysis - Network analysis using the igraph library - Data visualizations with ggplot2 and related packages - Statistical tests (Wilcoxon signed-rank tests with effect sizes) - Narrative explanations of findings To regenerate the HTML output: quarto render analysis.qmd Prerequisites - R (version 4.0 or higher recommended) - Quarto CLI ([installation guide](https://quarto.org/docs/get-started/)) - Required R packages (automatically installed by the script): - tidyverse, hrbrthemes, scales, patchwork, ggpubr, ggExtra - coin, gt, igraph 🔄 Replicating From Scratch The current repository includes pre-computed results for one example model (Linux 2.6.9 x86_64) and cached degree distribution data. To replicate the full analysis across all 5,709 variability models: Step 1: Download the Complete Dataset Visit the Zenodo repository: https://doi.org/10.5281/zenodo.17277789 This dataset (3.5 GB) contains conflict and dependency graphs for 5,709 highly configurable software systems from industrial and open-source projects. What's in that Zenodo Dataset? Dataset Overview: The dataset transforms variability models into explicit graph representations, revealing transitive dependency and conflict relationships that are often hidden in traditional constraint-based representations. Included Files: - summary.csv: Metadata and statistics for all 5,709 models including: - Number of nodes, core features, dead features - Number of require/exclude relationships - Domain classification (Systems Software, Security, Automotive, E-Commerce) - Bibliographic sources and tool provenance - Graph files (for each of 5,709 models): - *__requires.net: Directed dependency graphs in Pajek format - *__excludes.net: Undirected conflict graphs in Pajek format - *__core.txt: List of core configuration options (always enabled) - *__dead.txt: List of dead configuration options (never enabled) Data Provenance: - Derived from Boolean formulas in DIMACS CNF format - Originally synthesized using TraVarT, KMax, and KconfigSampler tools - Validated with MiniSat 2.2.0 solver - Includes validation scripts checking correctness against 1,000+ random nodes per model Format: - Industry-standard Pajek NET format - Compatible with Gephi, igraph, and other network analysis tools - Licensed under Creative Commons Attribution 4.0 Step 2: Place Graphs in the Repository 1. Download and extract the Zenodo archive 2. Copy all graph files from the Zenodo download into: data/graphs/ 3. Ensure `summary.csv` is placed in: data/ Step 3: Run the Full Analysis quarto render analysis.qmd **Note:** The first run will compute degree distributions for all 5,709 models and cache them in: - `data/requires_degree.csv` (~3.3 GB) - `data/excludes_degree.csv` (~3.0 GB) This computation is time-intensive but only needs to be performed once. Subsequent runs will use the cached data. 📁 Repository Structure . ├── analysis.qmd # Quarto source document with R analysis code ├── analysis.html # Generated HTML report (view results here) ├── zenodo.Rproj # RStudio project file └── data/ ├── summary.csv # Model metadata (5,709 models) ├── requires_degree.csv # Cached degree distributions (generated) ├── excludes_degree.csv # Cached degree distributions (generated) └── graphs/ # Graph files in Pajek format ├── *__requires.net # Dependency graphs ├── *__excludes.net # Conflict graphs ├── *__core.txt # Core features └── *__dead.txt # Dead features 🔍 Analysis Overview The analysis examines variability models through network science, focusing on: Single Model Deep Dive (Linux 2.6.9 x86_64): - Detection of core and dead features - Identification of highly reused features (in-degree ≥ 100) - Identification of highly conflicted features (degree ≥ 100) - Structural patterns in dependency graphs (hub-and-spoke architecture) - Conflict graph characteristics (sparse connectivity) Cross-Model Analysis (5,709 models): - Core and dead feature proportions by domain - Statistical comparisons across domains (Systems Software, Security, etc.) - Degree distribution patterns across thousands of models - Conditional probability analysis for high-degree nodes - Wilcoxon signed-rank tests with effect size calculations ## 📝 License This analysis code is provided for research and educational purposes. The dataset is licensed under CC BY 4.0. ## 👥 Authors - Ruben Heradio - Miguel Angel Olivero - Jose M. Sanchez - Luis Cambelo - David Fernandez-Amoros ## 🐛 Issues & Questions For questions about the analysis or dataset, please contact the authors or open an issue in this repository.

提供机构:
Zenodo
创建时间:
2025-12-01
二维码
社区交流群
二维码
科研交流群
商业服务