client library development

Designs, implements, and evaluates reusable software libraries that provide client-side APIs and communication primitives, covering library architecture, modularization, packaging, ABI/API design, ergonomics, and performance optimization. Work also includes authoring and maintaining shared/user-space libraries, ensuring interoperability, portability, versioning/distribution, and developer-facing usability.

clientlibrarydevelopment

Recent Skill Trend

Momentum and market value over time
Trending
Score
No comparison yet
0.38
Oct 01, 2026Oct 01, 2026
Career
Value
No comparison yet
$210K/year
Oct 01, 2026Oct 01, 2026

Must-Read Papers

Most classic and influential ideas
View more

Understanding API Usage and Testing: An Empirical Study of C Libraries

Jun 13, 2025
AZ
Ahmed Zaki
🏛️ Imperial College London

C/C++ library developers lack empirical understanding of the relationship between actual API usage and test coverage, leading to suboptimal test resource allocation. Method: This paper presents the first large-scale, cross-project empirical study in the C/C++ ecosystem, analyzing real-world API invocation frequencies of 21 widely used libraries (e.g., OpenSSL, SQLite) across 3,061 client projects, and systematically comparing them against the libraries’ native test suites at both line- and function-level coverage. We propose the “client-driven test feedback” paradigm and design LibProbe—a framework integrating static analysis, cross-project call-graph construction, and fine-grained coverage measurement. Contribution/Results: We uncover severe coverage gaps: e.g., 45% of high-frequency APIs in LMDB remain untested. Reusing client tests improves LMDB’s coverage by 14.7% and significantly enhances test realism and representativeness.

Analyzes API usage in 21 popular C librariesCompares client API usage with library test coverageIdentifies gaps in testing widely used APIs

Current RESTful API design quality assessment relies heavily on manual inspection, lacking early, automated validation mechanisms for non-functional requirements—particularly interoperability, modularity, and maintainability. Method: This paper proposes an OpenAPI-based static analysis approach that implements a configurable rule engine. It formalizes 75 design principles derived from scholarly literature and industry standards into structured, machine-checkable constraints, enabling customizable rule activation/deactivation and traceable feedback to align requirements engineering with architectural governance. Contribution/Results: Following the design science research paradigm, we developed and evaluated a prototype tool. Empirical evaluation and expert review demonstrate that the method significantly improves API design compliance and consistency, achieving 82% automation coverage. It effectively supports continuous architectural governance in agile development environments, bridging the gap between design-time assurance and operational API lifecycle management.

Automates validation of API design rules for interoperability and governanceDetects structural violations in OpenAPI specifications using configurable rulesOperationalizes design principles as verifiable constraints for quality assurance

Analyzing C/C++ Library Migrations at the Package-level: Prevalence, Domains, Targets and Rationals across Seven Package Management Tools

Jul 03, 2025
HG
Haiqiao Gu
🏛️ Peking University | University of Science and Technology Beijing

Prior research on library migration has largely overlooked C/C++, leaving a critical gap in understanding its ecosystem’s evolution. Method: We construct the first large-scale, multi-source C/C++ library migration dataset, encompassing 19,943 projects across seven package managers, and conduct an empirical analysis integrating dependency graphs, commit histories, and issue trackers to systematically characterize migration behaviors, domains, and motivations—comparing findings against Python, JavaScript, and Java. Contribution/Results: We find C/C++ migrations concentrate in GUI, build-system, and OS development; 83.46% of source libraries map deterministically to a single target library; and unique drivers include reducing compilation time and unifying dependency management. Crucially, C/C++ migration patterns diverge significantly from dynamic languages (e.g., JS/Python) and Java—especially in domain distribution—demonstrating the dataset’s utility for developing specialized migration recommendation tools.

Analyzing C/C++ library migrations across package management toolsComparing C/C++ migration trends with Python, JavaScript, and JavaInvestigating prevalence, domains, and rationale of C/C++ migrations

Open-source library maintainers lack actionable feedback on how downstream projects actually use their APIs, hindering test optimization, impact assessment of changes, and evolutionary guidance. Method: We propose a “community-level usage insight–driven maintenance decision” paradigm, introducing two quantitative metrics to measure test suite coverage of real-world API usage scenarios—thereby closing the maintenance feedback loop. Our approach integrates large-scale static API call analysis, stratified sampling of dependent projects, and empirical coverage evaluation, validated through a survey with open-source developers. Results: Experiments across 10 widely used Java libraries and their 500 downstream projects reveal that only 16% of exposed APIs are actively invoked, and among those, just 74% are covered by existing tests. Our metrics significantly strengthen data-driven maintenance decisions, delivering a practical, community-aware analytical framework for API evolution and test suite improvement.

Analyzing how OSS libraries are used across dependent ecosystemsEvaluating test suite coverage based on community API usageIdentifying gaps between API methods offered and actually used

Client--Library Compatibility Testing with API Interaction Snapshots

Jul 28, 2025
GM
Gustave Monce
🏛️ Univ. Bordeaux | CNRS | Bordeaux INP

Third-party library updates frequently introduce behavioral breaking changes (BBCs)—regressions undetectable at compile time—while client-side regression tests often fail to catch them due to low coverage or missing assertions. To address this, we propose an implicit contract modeling approach based on API interaction snapshots: via runtime instrumentation, we automatically capture real-world API call sequences issued by clients to the library, generating lightweight behavioral contract snapshots; BBCs are then identified by comparing snapshots across library versions. This approach eliminates the need for manually written assertions and circumvents the coverage bottleneck inherent in conventional compatibility testing. We implement a prototype tool, Gilesi, for the Java platform and evaluate it on multiple real-world library–client pairs. Gilesi successfully detects BBCs missed by existing test suites, significantly improving both detection rate and automation level for behavioral incompatibilities.

Detect behavioral breaking changes in client-library interactionsIdentify undetected runtime contract perturbations in evolving librariesImprove compatibility testing via API interaction snapshots

Latest Papers

What's happening recently
View more

This study addresses the proliferation of functional redundancy in service-oriented architectures caused by heterogeneous clients, which undermines system evolvability and maintainability. To mitigate this issue, the authors propose a novel reference architecture that synergistically integrates metadata-driven mechanisms with pattern languages. By leveraging metadata management and a plugin-based design, the approach effectively constrains service redundancy while enhancing reuse capabilities. The work innovatively combines metadata mechanisms and pattern languages in architectural construction and validates its efficacy through a triangulated evaluation method incorporating scenario-based assessment and real-world case studies. Empirical results demonstrate that the majority of system changes during evolution require no code modifications—only configuration adjustments or the addition of pluggable components—thereby significantly improving architectural stability and reuse efficiency.

metadata-driven servicesreference architectureservice reusability

This study addresses the low code reusability and redundant implementation across AI agents by proposing LibraryDesignBench, a benchmark accompanied by a two-stage evaluation framework that systematically examines agents’ capacity to design libraries from specifications for downstream reuse. Methodologically, it introduces a sub-agent testing mechanism and an agent-first guidance strategy, integrating multi-model family collaboration to enable automated programming evaluation. The findings reveal that rigid interfaces constitute a critical bottleneck hindering reuse. With targeted refinements, agents can reproduce most human-designed abstractions, significantly enhancing the conciseness of downstream programs and increasing code reuse rates. Ultimately, this work establishes a novel design baseline for collaborative agent-driven software development.

AI agentsbenchmark evaluationcode reuse

Hot Scholars

FM

Fabrizio Montesi

Professor of Computer Science, University of Southern Denmark
Choreographic ProgrammingMicroservicesConcurrency TheoryProgramming Languages
HB

Haitham Bou-Ammar

RL-Team Leader, BO-Team Leader, MAS-Team Leader Huawei Noah's Ark Lab, H. Assistant Professor @ UCL
Machine LearningReinforcement LearningOptimisationVariational Inference
YL

Yibo Lin

Assistant Professor at Peking University
Deep learningVLSI CADdesign for manufacturability
AA

Alejandro Aguirre

Postdoc, Aarhus University
Programming languagesFormal verificationProbabilistic Programming