English
Related papers

Related papers: Understanding API Usage and Testing: An Empirical …

200 papers

Modern software development depends on APIs to reuse code and increase productivity. As most software systems, these libraries and frameworks also evolve, which may break existing clients. However, the main reasons to introduce breaking…

Software Engineering · Computer Science 2018-08-09 Aline Brito , Laerte Xavier , Andre Hora , Marco Tulio Valente

Modern software systems are increasingly dependent on third-party libraries. It is widely recognized that using mature and well-tested third-party libraries can improve developers' productivity, reduce time-to-market, and produce more…

Software Engineering · Computer Science 2016-12-07 Mohamed Aymen Saied , Ali Ouni , Houari Sahraoui , Raula Gaikovina Kula , Katsuro Inoue , David Lo

A good documentation is essential for a good usability of (security) APIs, i.e. especially for the correct use of the APIs. Requirements for good documentation of APIs have been described in several papers, but there is no technical…

Software Engineering · Computer Science 2020-07-28 Rolf Huesmann , Alexander Zeier , Andreas Heinemann , Alexander Wiesmaier

Hyrum's law states a common observation in the software industry: "With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviors of your system will be depended on by somebody".…

Software Engineering · Computer Science 2021-10-20 Nicolas Harrand , Amine Benelallam , César Soto-Valero , François Bettega , Olivier Barais , Benoit Baudry

Application programming interfaces (APIs) have become a central part of the modern IT environment, allowing developers to enrich the functionality of applications and interact with third parties such as cloud and payment providers. This…

Cryptography and Security · Computer Science 2026-03-17 Nurullah Demir , Yash Vekaria , Georgios Smaragdakis , Zakir Durumeric

Nowadays, invoking third party code increasingly involves calling web services via their web APIs, as opposed to the more traditional scenario of downloading a library and invoking the library's API. However, there are also new challenges…

Software Engineering · Computer Science 2017-05-19 Erik Wittern , Annie Ying , Yunhui Zheng , Jim A. Laredo , Julian Dolby , Christopher C. Young , Aleksander A. Slominski

With the advent and proliferation of online developer forums as informal documentation, developers often share their opinions about the APIs they use. Thus, opinions of others often shape the developer's perception and decisions related to…

Software Engineering · Computer Science 2021-02-18 Gias Uddin , Olga Baysal , Latifa Guerrouj , Foutse Khomh

Previous research has shown that crypto APIs are hard for developers to understand and difficult for them to use. They consequently rely on unvalidated boilerplate code from online resources where security vulnerabilities are common. We…

Cryptography and Security · Computer Science 2019-08-06 Mohammadreza Hazhirpasand , Mohammad Ghafari , Stefan Krüger , Eric Bodden , Oscar Nierstrasz

Modern software development heavily relies on third-party libraries to speed up development and enhance quality. As libraries evolve, they may break the tacit contract established with their clients by introducing behavioral breaking…

Software Engineering · Computer Science 2025-07-29 Gustave Monce , Thomas Degueule , Jean-Rémy Falleri , Romain Robbes

Third-party library reuse has become common practice in contemporary software development, as it includes several benefits for developers. Library dependencies are constantly evolving, with newly added features and patches that fix bugs in…

Software Engineering · Computer Science 2017-09-15 Raula Gaikovina Kula , Daniel M. German , Ali Ouni , Takashi Ishio , Katsuro Inoue

Data science libraries, such as scikit-learn and pandas, specialize in processing and manipulating data. The data-centric nature of these libraries makes the detection of API misuse in them more challenging. This paper introduces DSCHECKER,…

Software Engineering · Computer Science 2025-10-01 Akalanka Galappaththi , Francisco Ribeiro , Sarah Nadi

As applications grow in capability, they also grow in complexity. This complexity in turn gets pushed into modules and libraries. In addition, hardware configurations become increasingly elaborate, too. These two trends make understanding,…

Software Engineering · Computer Science 2018-03-21 Ronny Brendel , Bert Wesarg , Ronny Tschüter , Matthias Weber , Thomas Ilsche , Sebastian Oeste

Using cloud-based computer vision services is gaining traction, where developers access AI-powered components through familiar RESTful APIs, not needing to orchestrate large training and inference infrastructures or curate/label training…

Software Engineering · Computer Science 2020-12-29 Alex Cummaudo , Rajesh Vasa , John Grundy , Mohamed Abdelrazek

Modern web applications make extensive use of API calls to update the UI state in response to user events or server-side changes. For such applications, API-level testing can play an important role, in-between unit-level testing and…

Software Engineering · Computer Science 2023-05-25 Rahulkrishna Yandrapally , Saurabh Sinha , Rachel Tzoref-Brill , Ali Mesbah

Large Language Model (LLM) libraries have emerged as the foundational infrastructure powering today's AI revolution, serving as the backbone for LLM deployment, inference optimization, fine-tuning, and production serving across diverse…

Software Engineering · Computer Science 2025-06-17 Weipeng Jiang , Xiaoyu Zhang , Xiaofei Xie , Jiongchi Yu , Yuhan Zhi , Shiqing Ma , Chao Shen

Modern applications increasingly interact with web APIs -- reusable components, deployed and operated outside the application, and accessed over the network. Their existence, arguably, spurs application innovations, making it easy to…

Software Engineering · Computer Science 2020-07-07 David Bermbach , Erik Wittern

Modern software development requires a large investment in learning application programming interfaces (APIs). Recent research found that the learning materials themselves are often inadequate: developers struggle to find answers beyond…

Software Engineering · Computer Science 2014-02-07 Adrian Kuhn , Robert DeLine

The increasing trend of using Large Language Models (LLMs) for code generation raises the question of their capability to generate trustworthy code. While many researchers are exploring the utility of code generation for uncovering software…

Cryptography and Security · Computer Science 2024-04-08 Zahra Mousavi , Chadni Islam , Kristen Moore , Alsharif Abuadbba , Muhammad Ali Babar

Application Programming Interfaces (APIs) often have usage constraints, such as restrictions on call order or call conditions. API misuses, i.e., violations of these constraints, may lead to software crashes, bugs, and vulnerabilities.…

Software Engineering · Computer Science 2018-03-14 Sven Amann , Hoan Anh Nguyen , Sarah Nadi , Tien N. Nguyen , Mira Mezini

Application Programming Interfaces (APIs) are essential tools for social work researchers aiming to harness advanced technologies like Large Language Models (LLMs) and other AI services. This paper demystifies APIs and illustrates how they…

Software Engineering · Computer Science 2024-10-29 Brian E. Perron , Hui Luan , Zia Qi , Bryan G. Victor , Kavin Goyal