English
Related papers

Related papers: Comprehensive Integration of API Usage Patterns

200 papers

Utilizing pre-existing software artifacts, such as libraries and Application Programming Interfaces (APIs), is crucial for software development efficiency. However, the abundance of artifacts that provide similar functionality can lead to…

Software Engineering · Computer Science 2023-04-12 Kisub Kim , Ferdian Thung , Ting Zhang , Ivana Clairine Irsan , Ratnadira Widyasari , Zhou Yang , David Lo

Modern software engineering often involves using many existing APIs, both open source and, in industrial coding environments, proprietary. Programmers reference documentation and code search tools to remind themselves of proper common usage…

Software Engineering · Computer Science 2020-11-04 Celeste Barnaby , Koushik Sen , Tianyi Zhang , Elena Glassman , Satish Chandra

Programmers often search for usage examples for API methods. A tool that could generate realistic, idiomatic, and contextual usage examples for one or more APIs would be immensely beneficial to developers. Such a tool would relieve the need…

Software Engineering · Computer Science 2023-12-27 Manish Shetty , Koushik Sen , Ion Stoica

With generative AI becoming widespread, the existence of AI-based programming assistants for developers is no surprise. Developers increasingly use them for their work, including generating code to fulfil the data protection requirements…

Software Engineering · Computer Science 2025-06-17 Kashumi Madampe , John Grundy , Nalin Arachchilage

The software engineering community recently has witnessed widespread deployment of AI programming assistants, such as GitHub Copilot. However, in practice, developers do not accept AI programming assistants' initial suggestions at a high…

Software Engineering · Computer Science 2023-09-19 Jenny T. Liang , Chenyang Yang , Brad A. Myers

There are so many libraries of visualization components nowadays with their APIs often different from one another. Could these components be more similar, both in terms of the APIs and common functionalities? For someone who is developing a…

Human-Computer Interaction · Computer Science 2020-09-03 Krist Wongsuphasawat

Machine Learning software systems are frequently used in our day-to-day lives. Some of these systems are used in various sensitive environments to make life-changing decisions. Therefore, it is crucial to ensure that these AI/ML systems do…

Machine Learning · Computer Science 2025-08-25 Ajoy Das , Gias Uddin , Shaiful Chowdhury , Mostafijur Rahman Akhond , Hadi Hemmati

TypeScript is a quickly evolving superset of JavaScript with active development of new features. Our paper seeks to understand how quickly these features are adopted by the developer community. Existing work in JavaScript shows the adoption…

Software Engineering · Computer Science 2023-03-20 Joshua D. Scarsbrook , Mark Utting , Ryan K. L. Ko

Fieldwire, a cloud-based construction management software, has become a pivotal tool in the construction industry. It offers a comprehensive suite of features encompassing project management, task tracking, document management, and…

Software Engineering · Computer Science 2023-10-05 Nwosu Obinnaya Chikezie Victor

Pattern discovery algorithms in the music domain aim to find meaningful components in musical compositions. Over the years, although many algorithms have been developed for pattern discovery in music data, it remains a challenging task. To…

Sound · Computer Science 2020-10-26 Iris Ren , Anja Volk , Wouter Swierstra , Remco C. Veltkamp

Modern software development heavily relies on the reuse of functionalities through Application Programming Interfaces (APIs). However, client developers can have issues identifying the correct usage of a certain API, causing misuses…

Software Engineering · Computer Science 2021-08-31 Sebastian Nielebock , Paul Blockhaus , Jacob Krüger , Frank Ortmeier

The reuse at the component level is generally more effective than the one at the object-oriented class level. This is due to the granularity level where components expose their functionalities at an abstract level compared to the…

Software Engineering · Computer Science 2018-03-19 Anas Shatnawi , Hudhaifa Shatnawi , Mohamed Aymen Saied , Zakarea Al Shara , Houari Sahraoui , Abdelhak Seriai

We introduce API Pack, a massive multi-programming language dataset containing over one million instruction-API calls for improving the API call generation capabilities of large language models. Our evaluation highlights three key findings:…

Computation and Language · Computer Science 2025-02-17 Zhen Guo , Adriana Meza Soria , Wei Sun , Yikang Shen , Rameswar Panda

Combining a set of existing constraint solvers into an integrated system of cooperating solvers is a useful and economic principle to solve hybrid constraint problems. In this paper we show that this approach can also be used to integrate…

Programming Languages · Computer Science 2007-05-23 Petra Hofstedt , Peter Pepper

We propose a novel approach to program synthesis, focusing on synthesizing database queries. At a high level, our proposed algorithm takes as input a sketch with soft constraints encoding user intent, and then iteratively interacts with the…

Programming Languages · Computer Science 2021-10-12 Osbert Bastani , Xin Zhang , Armando Solar-Lezama

Efficient parallelization of algorithms on general-purpose GPUs is essential in many areas today. However, it is a non-trivial task for software engineers to utilize GPUs to improve the performance of high-level programs in general.…

Programming Languages · Computer Science 2024-07-09 Lars Hummelgren , John Wikman , Oscar Eriksson , Philipp Haller , David Broman

Fragmentation is a serious problem in the Android ecosystem. This problem is mainly caused by the fast evolution of the system itself and the various customizations independently maintained by different smartphone manufacturers. Many…

Software Engineering · Computer Science 2022-06-01 Pei Liu , Yanjie Zhao , Haipeng Cai , Mattia Fazzini , John Grundy , Li Li

Program comprehension concerns the ability of an individual to make an understanding of an existing software system to extend or transform it. Software systems comprise of data that are noisy and missing, which makes program understanding…

Software Engineering · Computer Science 2019-02-05 Amir Saeidi , Jurriaan Hage , Ravi Khadka , Slinger Jansen

Code completion aims to help improve developers' productivity by suggesting the next code tokens from a given context. Various approaches have been proposed to incorporate abstract syntax tree (AST) information for model training, ensuring…

Software Engineering · Computer Science 2023-05-02 Wannita Takerngsaksiri , Chakkrit Tantithamthavorn , Yuan-Fang Li

Most of the web services are offered in the form of RESTful APIs. This has led to an active research interest in API testing to ensure the reliability of these services. While most of the testing techniques proposed in the past rely on the…

Software Engineering · Computer Science 2025-01-31 Devika Sondhi , Ananya Sharma , Diptikalyan Saha