English
Related papers

Related papers: Comprehensive Integration of API Usage Patterns

200 papers

Nowadays, many companies design and develop their software systems as a set of loosely coupled microservices that communicate via their Application Programming Interfaces (APIs). While the loose coupling improves maintainability,…

Software Engineering · Computer Science 2024-06-05 Alexander Lercher , Johann Glock , Christian Macho , Martin Pinzger

When giving automated feedback to a student working on a beginner's exercise, many programming tutors run into a completeness problem. On the one hand, we want a student to experiment freely. On the other hand, we want a student to write…

Human-Computer Interaction · Computer Science 2020-11-17 Niek Mulleners , Johan Jeuring , Bastiaan Heeren

A common way of exposing functionality in contemporary systems is by providing a Web-API based on the REST API architectural guidelines. To describe REST APIs, the industry standard is currently OpenAPI-specifications. Test generation and…

Software Engineering · Computer Science 2023-10-27 Stefan Karlsson , Robbert Jongeling , Adnan Causevic , Daniel Sundmark

Recent breakthroughs in pre-trained code models, such as CodeBERT and Codex, have shown their superior performance in various downstream tasks. The correctness and unambiguity of API usage among these code models are crucial for achieving…

Software Engineering · Computer Science 2023-09-15 Terry Yue Zhuo , Xiaoning Du , Zhenchang Xing , Jiamou Sun , Haowei Quan , Li Li , Liming Zhu

API search involves finding components in an API that are relevant to a programming task. For example, a programmer may need a function in a C library that opens a new network connection, then another function that sends data across that…

Software Engineering · Computer Science 2021-07-27 Zachary Eberhart , Collin McMillan

Code Completion is one of the most used Integrated Development Environment (IDE) features, which affects the everyday life of a software developer. Modern code completion approaches moved from the composition of several static…

Software Engineering · Computer Science 2024-02-15 Anton Semenkin , Yaroslav Sokolov , Evgeniia Vu

OpenAPI indicates a behavior where producers offer Application Programming Interfaces (APIs) to help end-users access their data, resources, and services. Generally, API has many parameters that need to be entered. However, it is…

Software Engineering · Computer Science 2023-04-14 Shujun Wang , Yongqiang Tian , Dengcheng He

Code intelligence is an emerging domain in software engineering, aiming to improve the effectiveness and efficiency of various code-related tasks. Recent research suggests that incorporating contextual information beyond the basic original…

Software Engineering · Computer Science 2026-02-10 Yanlin Wang , Kefeng Duan , Dewu Zheng , Ensheng Shi , Fengji Zhang , Yanli Wang , Jiachi Chen , Xilin Liu , Yuchi Ma , Hongyu Zhang , Qianxiang Wang , Zibin Zheng

With over 500,000 commits and more than 700 contributors, the Android platform is undoubtedly one of the largest industrial-scale software projects. This project provides the Android API, and developers heavily rely on this API to develop…

Software Engineering · Computer Science 2022-06-01 Pei Liu , Li Li , Yichun Yan , Mattia Fazzini , John Grundy

Program synthesis techniques construct or infer programs from user-provided specifications, such as input-output examples. Yet most specifications, especially those given by end-users, leave the synthesis problem radically ill-posed,…

Artificial Intelligence · Computer Science 2020-10-22 Yewen Pu , Kevin Ellis , Marta Kryven , Josh Tenenbaum , Armando Solar-Lezama

Large language models are redefining software engineering by implementing AI-powered techniques throughout the whole software development process, including requirement gathering, software architecture, code generation, testing, and…

Software Engineering · Computer Science 2024-06-11 Malik Abdul Sami , Muhammad Waseem , Zeeshan Rasheed , Mika Saari , Kari Systä , Pekka Abrahamsson

Rapid technological progress in computer sciences finds solutions and at the same time creates ever more complex requirements. Due to an evolving complexity todays programming languages provide powerful frameworks which offer standard…

Human-Computer Interaction · Computer Science 2019-05-17 Igor Ivkic , Alexander Wöhrer , Markus Tauber

Software complexity has increased over the years. One common way to tackle this complexity during development is to encapsulate features into a shared library. This allows developers to reuse already implemented features instead of…

Cryptography and Security · Computer Science 2019-09-17 Nicolai Davidsson , Andre Pawlowski , Thorsten Holz

Automatically generating source code from natural language descriptions has been a growing field of research in recent years. However, current large-scale code generation models often encounter difficulties when selecting appropriate APIs…

Software Engineering · Computer Science 2023-09-12 Kechi Zhang , Huangzhao Zhang , Ge Li , Jia Li , Zhuo Li , Zhi Jin

Application programming interfaces (APIs) offer a plethora of functionalities for developers to reuse without reinventing the wheel. Identifying the appropriate APIs given a project requirement is critical for the success of a project, as…

Information Retrieval · Computer Science 2018-03-02 Ferdian Thung , Richard J. Oentaryo , David Lo , Yuan Tian

We investigated how programmers express high-level concepts such as path names and coordinates using primitive data types. While relying too much on primitive data types is sometimes criticized as a bad smell, it is still a common practice…

Software Engineering · Computer Science 2022-03-21 Yusuke Shinyama , Yoshitaka Arahori , Katsuhiko Gondow

The development of web applications that manipulate geo-referenced information is often supported by Application Programming Interfaces (APIs), al-lowing a fast development cycle for high quality applications. APIs can be used by…

Software Engineering · Computer Science 2013-05-16 Ana Isabel Fernandes , Miguel Goulão , Armanda Rodrigues

Proxy applications (proxy-apps) are basic tools for evaluating the performance of specific workloads on high-performance computing (HPC) systems. Since the development of high-fidelity proxy-apps, which exhibit similar performance…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-05-07 Jiyu Luo , Tao Yan , Qingguo Xu , Jingwei Sun , Guangzhong Sun

The implementation of complex software systems usually depends on low-level frameworks or third-party libraries. During their evolution, the APIs adding and removing behaviors may cause unexpected compatibility problems. So, precisely…

Software Engineering · Computer Science 2024-01-08 Jiwei Yan , Jinhao Huang , Hengqin Yang , Jun Yan

We present a computer-aided programming approach to concurrency. The approach allows programmers to program assuming a friendly, non-preemptive scheduler, and our synthesis procedure inserts synchronization to ensure that the final program…