Skip to content
Book Open access

When Dependencies Depend: A Large-Scale Study on Conditional Dependencies and Their Security Implications in C/C++

Oct 2026 · Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering · 0 citations · 49 references

TL;DR

Condor is developed, a static analysis approach that parses CMake build files to extract conditional dependencies together with their inclusion logic, revealing a C/C++-specific landscape of dependency variability that is difficult for existing SCA tools to capture.

Abstract

Third-party libraries (TPLs) are a major source of software supply chain risk. Yet accurately managing them remains difficult in C/C++, where dependency inclusion is often encoded directly in build scripts rather than using standard package managers. A particularly overlooked challenge is conditional dependencies, i.e., TPLs included only under specific build configurations. C/C++ projects commonly express such conditions through fine-grained CMake logic involving platform checks and user-defined configuration variables, making them difficult for existing Software Composition Analysis (SCA) tools to reason about. To investigate this problem, we conduct a large-scale empirical study of 2K real-world C/C++ projects. We develop Condor, a static analysis approach that parses CMake build files to extract conditional dependencies together with their inclusion logic. Our results show that conditional dependencies are pervasive: among projects with at least one detected TPL, 84.33% contain at least one conditional dependency, and on average 53.77% of declared TPLs are conditionally included. We further find that 87.86% of conditional dependencies are governed by user-defined variables, revealing a C/C++-specific landscape of dependency variability that is difficult for existing SCA tools to capture. Finally, our evaluation of four popular SCA tools shows that up to 48.33% of reported vulnerable dependencies are conditionally included. The applicability of these reports therefore depends on the target build configuration. These findings highlight a key limitation of current SCA practice and motivate configuration-aware vulnerability analysis for C/C++ projects.

Read PDF

Similar papers

Open access Oct 2026

DeepSCA: Dependency-Aware Software Composition Analysis for C/C++ Based on a Curated Code Feature Database

Software Composition Analysis (SCA) identifies reused third-party libraries (TPLs) and their dependencies, forming the basis of Software Bills of Materials (SBOMs) for securing software supply chain. Current C/C++ SCA techniques extract code features and match them against a TPL feature database. However, detection rec...

Mei-Qiu Xu, Xi-Bin Zhao, Wen-Xuan Yu et al. · 1 citation
#software testing Book Open access Oct 2026

Don’t Retest Everything: Auditable Regression Scoping for Safety-Critical Systems

The results show that CoCoS supports the conservative bounding of regression scopes while preserving compliance-oriented reasoning and providing practical evidence for test planning in safety-critical environments.

Francesco Basciani, Daniele Masti, Patrizio Pelliccione et al. · 0 citations
Book Open access Oct 2026

Bridging Feature Models and Users: LLM-Generated Low-Code Configurators for Software Product Lines

This work draws on principles from Low-Code Development (LCD) and introduces an LLM-driven approach for automatically generating interactive Web-based configurators directly from feature models, to simplify the development of configurators and support feature selection itself through low-code techniques that make varia...

Patrick Wegerer, Bernhard Schenkenfelder, Rudolf Ramler et al. · 1 citation
#software testing Open access Sep 2026

LLM-Assisted Porting of Security-Critical C Libraries to Idiomatic Rust: A Multi-Model Empirical Study

Differential fuzzing reveals complementary bugs in the manual and LLM porting of security-critical C libraries to idiomatic Rust and translates these findings into concrete practical guidance for teams planning a similar migration.

Marco Parrillo, Marco Grassi, Luigi Laura · 0 citations
Review Aug 2026

Large Language Models at the Intersection of Software Engineering and Software Security:An Evidence-Centered Structured Survey and Research Agenda

This evidence-centered structured survey synthesizes representative work available through May 31, 2026 across software engineering tasks, software security tasks, adaptation mechanisms, artifact granularity, and evaluation design and introduces an assurance framework that separates functional correctness, security, op...

Wei Lin, Tao Zhou, Zhaofei Xie et al. · 0 citations
Book Open access Oct 2026

Manifesting Implicit Dependencies in Requirements Task: An Automated Method Integrating Code Awareness and Change Analysis

In modern software development, accurately assessing the impact scope of requirement changes is crucial for software quality, yet this task faces two major challenges. First, highly simplified requirement descriptions (one-sentence requirements) tend to conceal complex business logic and extensive system dependencies....

Hui Ma, Jia-Jun Yang, Yan Chen et al. · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.